读取一些csv文件并将它们合并到一个数据帧中

2024-05-05 03:44:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图编写一个代码片段,如下所示。主要目标是从03-10-2020.csv读取到03-16-2020.csv,并将它们合并到一个数据帧中,但数据帧中只包含最后一个数据帧。 我怎样才能修好它

week_array = []
path = 'URL_ADDRESS'


for i in range(10,17):
    dataset_date = "03-" + str(i) + "-2020.csv"
    url = path + dataset_date
    data_df = pd.read_csv(url, error_bad_lines=False, encoding = "utf-8" , index_col=None, header=0)
    week_array.append(data_df)
    week_df = pd.concat(week_array, axis=0, ignore_index=True)

Tags: csv数据path代码url目标dfdata
2条回答

使用注释中提到的解决方案,也可以在concat中省略一些默认参数,如index_col=Noneaxis=0

week_array = []
path = 'URL_ADDRESS'


for i in range(10,17):
    dataset_date = "03-" + str(i) + "-2020.csv"
    url = path + dataset_date
    data_df = pd.read_csv(url, error_bad_lines=False, encoding = "utf-8" , header=0)
    week_array.append(data_df)

#concat outside loop by change indentation (same indentation like `week_array`)
week_df = pd.concat(week_array, ignore_index=True)
#^^^^
#here

您需要对数据执行深度复制。 每次都用新文件中的数据替换数据。 希望这能解决问题

week_array = []
path = 'URL_ADDRESS'


for i in range(10,17):
    dataset_date = "03-" + str(i) + "-2020.csv"
    url = path + dataset_date
    data_df = pd.read_csv(url, error_bad_lines=False, encoding = "utf-8" , header=0)
    week_array.append(data_df.copy()) ## deep copy

#concat outside loop by change indentation (same indentation like `week_array`)
week_df = pd.concat(week_array,axis=0, ignore_index=True)
#^^^^
print(week_df)

相关问题 更多 >