Overwrite an excel sheet with pandas dataframe without affecting other sheets(在不影响其他工作表的情况下,使用PANDA数据框覆盖Excel工作表)
本文介绍了在不影响其他工作表的情况下,使用PANDA数据框覆盖Excel工作表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我希望用Pandas DataFrame覆盖Excel文件中的现有工作表,但不希望在同一文件的其他工作表中进行任何更改。如何才能做到这一点。 我尝试了下面的代码,但它没有覆盖,而是将数据追加到‘Sheet2’中。
import pandas as pd
from openpyxl import load_workbook
book = load_workbook('sample.xlsx')
writer = pd.ExcelWriter('sample.xlsx', engine = 'openpyxl')
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
df.to_excel(writer, 'sheet2', index = False)
writer.save()
推荐答案
我找不到其他任何选项,这将是您的快速解决方案。
我相信仍然没有直接的方法来做这件事,如果我错了,请纠正我。这就是我们需要采用这种合乎逻辑的方式的原因。
import pandas as pd
def write_excel(filename,sheetname,dataframe):
with pd.ExcelWriter(filename, engine='openpyxl', mode='a') as writer:
workBook = writer.book
try:
workBook.remove(workBook[sheetname])
except:
print("Worksheet does not exist")
finally:
dataframe.to_excel(writer, sheet_name=sheetname,index=False)
writer.save()
df = pd.DataFrame({'Col1':[1,2,3,4,5,6], 'col2':['foo','bar','foobar','barfoo','foofoo','barbar']})
write_excel('PRODUCT.xlsx','PRODUCTS',df)
如果您觉得这很有帮助,请告诉我,如果您需要任何其他更好的解决方案。
这篇关于在不影响其他工作表的情况下,使用PANDA数据框覆盖Excel工作表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:在不影响其他工作表的情况下,使用PANDA数据框覆盖Excel工作表
基础教程推荐
猜你喜欢
- 在同一图形上绘制Bokeh的烛台和音量条 2022-01-01
- 修改列表中的数据帧不起作用 2022-01-01
- 无法导入 Pytorch [WinError 126] 找不到指定的模块 2022-01-01
- Plotly:如何设置绘图图形的样式,使其不显示缺失日期的间隙? 2022-01-01
- PermissionError: pip 从 8.1.1 升级到 8.1.2 2022-01-01
- 在Python中从Azure BLOB存储中读取文件 2022-01-01
- 包装空间模型 2022-01-01
- 求两个直方图的卷积 2022-01-01
- PANDA VALUE_COUNTS包含GROUP BY之前的所有值 2022-01-01
- 使用大型矩阵时禁止 Pycharm 输出中的自动换行符 2022-01-01
