我写了下面似乎不起作用的内容。我将数据帧定义为d3,是具有20行且带有注释“我的注释”的columnn。然后,我试图将其添加到单元格L2中现有的已保存下来的excel文档中。数据帧正在打印,并且可以在IDE中正常显示,但是在Excel中不会被覆盖。任何帮助将不胜感激,因为即时消息只是从python开始!
from openpyxl import load_workbook
import pandas as pd
import xlsxwriter
#create dataframe to be 19 lines with comment "my comment"
comment = "my comment"
df3 = pd.DataFrame([comment]* 20)
print(df3)
wb = load_workbook(r'H:\myfile.xlsx')
writer = pd.ExcelWriter(r'H:\myfile', engine='xlsxwriter')
df3.to_excel(writer,sheet_name='mysheet', startrow = 2, startcol = 12)
wb.save(r'H:\myfile.xlsx')
print("done")
据我所知,你们同时做多件事,互相抵消了对方的影响。为什么甚至要使用openpyxl?
您可以使用openpyxl和从excel文件加载工作簿load_workbook
,然后使用pandas DataFrame覆盖excel文件,此时输出应为您想要的。但是在那之后,您再次用已加载的工作簿的内容覆盖了excel文件,该工作簿是在您对熊猫进行更改之前加载的,这将excel文件恢复到原始状态。
摆脱涉及openpyxl的每一行,它应该可以工作。
import pandas as pd
import xlsxwriter
#create dataframe to be 19 lines with comment "my comment"
comment = "my comment"
df3 = pd.DataFrame([comment]* 20)
print(df3)
writer = pd.ExcelWriter(r'H:\myfile', engine='xlsxwriter')
df3.to_excel(writer,sheet_name='mysheet', startrow = 2, startcol = 12)
print("done")
如果要使用pandas修改excel文件,则不需要openpyxl,如果要使用openpyxl修改excel,则不需要pandas。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句