【发布时间】:2018-05-07 06:03:09
【问题描述】:
我正在使用 xlsxwriter 引擎通过 pandas.to_excel() 将一些数据框推送到 excel 工作表中,但我需要在每个表格上方添加一个标题。
我没有看到任何方法可以使用 Pandas 的 ExcelWriter 对象来简单地操作每个单元格的内容,当我尝试这样做时,我得到:
例外:Sheetname 'sample',忽略大小写,已在使用中。
我猜 xlsxwriter 会自己锁定它。这是一个例子:
xlsx_writer = pd.ExcelWriter(
get_target_filepath(xlsx_name),
engine='xlsxwriter'
)
workbook = xlsx_writer.book
worksheet = workbook.add_worksheet(sheet_name)
worksheet.write(1, 1, 'ABC')
_, sample_table = dataframe_tuples[0]
sample_table.to_excel(xlsx_writer, startrow=3, startcol=2, sheet_name=sheet_name)
我可以保存数据帧并使用 openpyxl 重新检查它,但我非常不喜欢它们进行格式化的方式,我接下来必须这样做,如果我在 xlsxwriter 中对其进行格式化,然后使用 openpyxl 重新打开它,它无法保存正确格式化,openpyxl 毁了它。
我无法将 excel 本身放到服务器上以使用 VBA 宏进行样式设置。
有什么办法可以解决这个问题,还是我只是做错了什么?
【问题讨论】:
标签: python excel pandas xlsxwriter