python - 在现有工作簿中多次将唯一数据框写入同一张工作表
问题描述
我有一个带有 Sheet1、Sheet2 和 Sheet3 的 Excel 工作簿。我正在尝试在工作簿中创建一个新工作表(我们称之为 NewSheet)并将数据帧多次写入 NewSheet,同时还维护 Sheet1、Sheet2 和 Sheet3
例如我想做
df1.to_excel(writer, sheet_name="NewSheet")
df2.to_excel(writer, sheet_name="NewSheet", startrow=10)
或者在某些情况下
row=0
list_of_dfs=[df1,df2,df3]
for df in list_of_dfs:
df.to_excel(writer,sheet_name="NewSheet",startrow=row
row=row+len(df)+2
问题出在writer=pd.ExcelWriter(save_name, engine='openpyxl', mode='a', if_sheet_exists='replace')
如果if_sheet_exists='replace'
那么只有最后一个写入工作表的数据帧被保存,而其他数据帧则丢失,因为每次都替换整个工作表
如果if_sheet_exists='new'
然后每个数据帧都写入一个新工作表,结果是一堆名为 NewSheet1、NewSheet2 等的工作表,而不是全部写入同一个工作表。
如何在现有工作簿中多次写入同一张工作表?
解决方案
推荐阅读
- q# - 如何在 Q# 中创建新类型操作?
- node.js - 在NodeJS / Express中生成pdf之前等待所有屏幕截图
- c# - 如何解决使用 Double ToDouble 方法为 LINQ 变量赋值的问题
- javascript - RxJS:mergeMap 运算符在其中一个引发错误时取消其他活动请求
- kubernetes - 使用 Terraform 创建 kubernetes PV/PVC 时指定命名空间
- docker - 无法在 ansible awx_task 容器中运行 npm 命令
- python-3.x - 如何使用python3提取字符串中子字符串的前后
- python - 如何使用 python Multiprocessing 更新 dict 并正确设置?
- java - Eclipse MemoryAnalyzer 和 sdkman
- matlab - 使用 Matlab 进行 PCA 声音压缩