我有一个类,其对象包含 pandas 数据帧(下面的 self.before 和 self.after)和一个使用 xlsxwriter 导出数据的 save() 方法(它有两个工作表,“之前”和“之后”) .我正在尝试 freeze panes (后来也想用 conditional formatting)。
虽然我认识你can't change the style of cells you've already written , 这两个操作应用于工作表级别,因此应该稍后设置。
代码如下:
def save():
writer = pd.ExcelWriter(self.path, engine='xlsxwriter')
self.before.to_excel(writer, "before")
self.after.to_excel(writer, "after")
for sht_name in writer.sheets:
ws = writer.sheets[sht_name]
ws.freeze_panes=(2,0)
writer.save()
保存的工作表 Pane 不会卡住。我在使用 xlsxwriter(没有 pandas)时成功地使用了该方法,并且我正在遵循 this pandas-charts documentation 设置的引导它似乎只是从 writer 对象中检索底层 xlsxwriter 对象并对其进行操作。
您是否知道为什么我无法在此处获得该结果。
如果出于某种原因无法做到这一点,当然,我总是可以从数据框中检索表的各个值,但乍一看似乎有些过分。
最佳答案
OK,折腾了很久发现了:
正确的语法是:
ws.freeze_panes(2,0)
我正在设置一个(新)属性(可能覆盖方法)而不是调用工作表对象的方法。
一旦我更正了它,它就起作用了。
很高兴这是一个简单的解决方案...
关于python - 为什么我不能在 pandas 为我创建的 xlsxwriter 对象上卡住 Pane ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25476081/