首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我不能在pandas为我创建的xlsxwriter对象上执行freeze_panes?

为什么我不能在pandas为我创建的xlsxwriter对象上执行freeze_panes?
EN

Stack Overflow用户
提问于 2014-08-25 04:35:28
回答 1查看 2K关注 0票数 5

我有一个类,它的对象包含pandas数据帧(下面的self.before和self.after )和一个使用xlsxwriter导出数据的save()方法(它有两个工作表,“之前”和“之后”)。我正在尝试使用freeze panes (以后也想使用conditional formatting )。

尽管我知道您是can't change the style of cells you've already written,但这两个操作是在工作表级别应用的,因此应该在以后进行设置。

代码如下:

代码语言:javascript
复制
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的做法,它似乎只是从编写器对象中检索底层的xlsxwriter对象并对其进行操作。

你知道为什么我在这里得不到这个结果吗?

当然,如果由于任何原因不能做到这一点,我总是可以从数据帧中检索表的各个值,但乍一看这似乎有点过了。

EN

回答 1

Stack Overflow用户

发布于 2014-08-25 04:54:25

好吧,在经历了许多自我折磨之后找到了它:

正确的语法是:

代码语言:javascript
复制
ws.freeze_panes(2,0)

我正在设置一个(新的)属性(可能会覆盖该方法),而不是调用工作表对象的方法。

一旦我纠正了这个问题,它就起作用了。

很高兴它是这样简单的解决方案...

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25476081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档