首页 > 解决方案 > Pandas ExcelWriter 不会追加

问题描述

我有一个 xlsx 模板,它在第一页上包含一个仪表板,该仪表板从几张纸中读取数据。我的目标是在不替换其他工作表/仪表板的内容的情况下写入这些工作表。我的代码如下:

import os
import pandas as pd
import openpyxl

dataframe1 = pd.read_excel('df1.xlsx')
dataframe2 = pd.read_excel('df2.xlsx')

with pd.ExcelWriter('template.xlsx', mode='a', engine = 'openpyxl') as 
writer:
dataframe1.to_excel(writer, sheet_name='sheet10')
dataframe2.to_excel(writer, sheet_name='sheet11')
writer.save()
writer.close()

不幸的是,这导致我的模板仅被这两张纸替换,而不是被附加到文件中。

标签: pandas

解决方案


import os
import glob
import pandas as pd
import openpyxl

all_data = pd.DataFrame()

#Here you'll extract all .xlsx file and append it in all_data

for f in glob.glob("*.xlsx"):
    df = pd.read_excel(f)
    all_data = all_data.append(df,ignore_index=True)

 #Now write data into output file

writeData = pd.ExcelWriter('template.xlsx')
all_data.to_excel(writeData,'sheet1')
writer.save()

writer.close()

可能这会对你有所帮助。


推荐阅读