我有一个类,其对象包含pandas数据帧(self.before和self.after under)和save()方法,该方法使用xlsxwriter导出数据(有两个工作表,“before”和“after”).我正在尝试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()
保存的工作表的窗格不会被冻结.我在使用xlsxwriter(没有pandas)时成功使用了该方法,并且我遵循this pandas-charts documentation的引导集,它似乎只是从writer对象中检索底层的xlsxwriter对象并对它们进行操作.
你有没有想过为什么我没有在这里得到这个结果的想法.
如果由于某种原因无法做到这一点,我总是可以从数据框中检索表的各个值,当然,这看起来似乎过分了.
解决方法:
好吧,经过多次自我折磨后发现它:
正确的语法是:
ws.freeze_panes(2,0)
我正在设置(新)属性(可能覆盖方法)而不是调用工作表对象的方法.
一旦我纠正了它,它就有效了.
很高兴它就像简单的解决方案……
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。