【发布时间】:2020-04-18 19:24:52
【问题描述】:
我有几个 CSV 文件,每个文件代表一天的数据,没有标题!更像month-1/day-1.csv ... day-30.csv - month-2/day-1.csv ...等 如何将所有这些 CSV 文件合并到一个包含所有这些文件的大 CSV 文件中?
【问题讨论】:
我有几个 CSV 文件,每个文件代表一天的数据,没有标题!更像month-1/day-1.csv ... day-30.csv - month-2/day-1.csv ...等 如何将所有这些 CSV 文件合并到一个包含所有这些文件的大 CSV 文件中?
【问题讨论】:
嗨,量化,欢迎来到 SO!
您可以使用以下代码来执行此操作:
import os
import glob
import pandas as pd
path = '/your_directory_containing the files'
os.chdir(path)
all_filenames = [i for i in glob.glob('*.{}'.format('csv'))]
combined_csv = pd.concat([pd.read_csv(f) for f in all_filenames ])
combined_csv.to_csv( "combined_csv.csv", index=False, encoding='utf-8-sig')
请注意,此代码将合并指定目录中的所有.csv-文件。
我希望代码对你有用:)
【讨论】:
这假设您的输入位于 in_data 文件夹中,输出位于名为 out_data 的文件夹中,并且这两个文件夹都位于您的笔记本目录中。
import pandas as pd
import glob
dfs = pd.concat([pd.read_csv(f, header=None) for f in glob.glob("./in_data/month*/day*")])
dfs.to_csv("./out_data/df_combined.csv", index=False)
【讨论】: