pandas - 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()
不幸的是,这导致我的模板仅被这两张纸替换,而不是被附加到文件中。
解决方案
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()
可能这会对你有所帮助。
推荐阅读
- apache-spark - 带有 Hive 的 pyspark,追加将添加到现有分区并重复数据
- java - 使用 Eclipse Debugger 调试 Eclipse CDT 时出现奇怪的行为
- python - 我应该怎么做才能读取 dbf 文件并将数据插入 Oracle db?
- apache-kafka - 创建和使用自定义 kafka 连接配置提供程序
- java-8 - 使用 OAuth 2.0 URL 生成令牌时,如何配置 SwaggerUI 以正确设置标头上的承载令牌?
- java - 在 Spring Boot 中从 id 令牌获取主题
- android - 如何根据设置的主题更改颤动中的状态栏图标和文本颜色?
- web-scraping - 寻求 Alpha 抓取电话会议记录的问题
- javascript - 下载后表格的总计算未显示在 pdf 中。(Tabulator Js)
- ios - 如何检查哪个collectionview是否在swift中滚动