【发布时间】:2016-09-21 21:49:51
【问题描述】:
每个文件夹都有一个 csv 用于一年中的每个月(1.csv、2.csv、3.csv 等),脚本创建一个数据框,将所有 12 个 csv 的第 9 列组合成一个名为 concentrated.xlsx 的 xlsx 表.它有效,但一次只能用于一个目录
files = glob['2014/*.csv']
sorted_files = natsorted(files)
def read_9th(fn):
return pd.read_csv(fn, usecols=[9], names=headers)
big_df = pd.concat([read_9th(fn) for fn in sorted_files], axis=1)
writer = pd.ExcelWriter('concentrated.xlsx', engine='openpyxl')
big_df.to_excel(writer,'2014')
writer.save()
是否可以为每个目录自动创建一个数据框,而不必像这样为每个文件夹手动创建一个:
files14 = glob['2014/*.csv']
files15 = glob['2015/*.csv']
sorted_files14 = natsorted(files14)
sorted_files15 = natsorted(files15)
def read_9th(fn):
return pd.read_csv(fn, usecols=[9], names=headers)
big_df = pd.concat([read_9th(fn) for fn in sorted_files14], axis=1)
big_df1 = pd.concat([read_9th(fn) for fn in sorted_files15], axis=1)
writer = pd.ExcelWriter('concentrated.xlsx', engine='openpyxl')
big_df.to_excel(writer,'2014')
big_df1.to_excel(writer,'2015')
writer.save()
【问题讨论】: