我有一个文件夹,里面有越来越多的excel文件,其中包含日常数据。我想创建一个随着文件数量增加而扩展的数据框架。新数据必须叠加在现有数据下,以扩展时间序列,然后将数据框保存到新的excel输出文件中。到目前为止我有这个代码。有些部分工作,我确实得到了一个输出文件,但是它是以随机顺序堆叠的,而不是按照文件夹/目录的顺序堆叠的。
# loop over excel files in cwd
all_data = pd.DataFrame() # create empty list
list = []
for f in glob.glob("/Users/xxxx/xxxx/xxxx/Data/*.xlsx"):
df = pd.read_excel(f, sheet_name= 'data')
list.append(df)
all_data = pd.concat(list)
# save the data
writer = pd.ExcelWriter('output.xlsx')
all_data.to_excel(writer, 'sheet1')
writer.save()
谢谢
all_data = pd.DataFrame() # create empty list
list = []
for f in glob.glob("/Users/xxxx/xxxx/xxxx/Data/*.xlsx"):
df = pd.read_excel(f, sheet_name= 'data')
list.append(df)
all_data = pd.concat(list)
all_data.to_excel("/Users/xxxx/xxxx/xxxx/Data/all_data.xlsx")
假设你有Excel 365,并且文件夹中的所有文件都具有相同的结构,你可以完全避免使用vba,而是使用Power Query指定文件夹作为数据源。结果将是一个表,您可以在每次向文件夹添加文件时刷新。