首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >要查看DataFrame / StyleFrame的更新,必须重新打开Excel工作簿

要查看DataFrame / StyleFrame的更新,必须重新打开Excel工作簿
EN

Stack Overflow用户
提问于 2020-10-21 07:39:01
回答 1查看 186关注 0票数 0

我正在将一个StyleFrame写入一个新的Excel表,但在重新打开工作簿之前,我无法看到更改。我怎样才能立即看到更新?我也尝试过使用DataFrame,但结果是一样的。

代码语言:javascript
复制
writer = StyleFrame.ExcelWriter(cls.wb_path)
writer.book = cls.wb
sf.to_excel(writer, sheet_name="Extra fields", header=False, index=False)
writer.save()

事先非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-21 14:47:42

根据pandas docs,在创建ExcelWrite对象时需要提供ExcelWrite

目前,这是不可能通过StyleFrame.ExcelWriter快捷方式,但您可以使用pandas.ExcelWriter

代码语言:javascript
复制
import pandas as pd

from styleframe import StyleFrame, Styler

sf = StyleFrame({'a': [1, 2, 3]}, styler_obj=Styler(bg_color='yellow'))
writer = pd.ExcelWriter('test.xlsx', mode='a')
sf.to_excel(writer, sheet_name="Extra fields")
writer.save()

在运行上述代码之前,test.xlsx

运行上述代码后的test.xlsx

关于

--在重新打开工作簿之前我无法看到更改

这与pandasstyleframeopenpyxl甚至一般Python无关。只有在重新打开Excel (或正在使用的任何其他电子表格软件)时才会看到更改,因为这就是设计上述软件(甚至是正在使用的操作系统)的方式。实际上,我很惊讶你竟然在文件打开时成功地执行了代码。通常,如果试图将工作表保存到当前打开的文件中,则会得到显式的PermissionError错误:

代码语言:javascript
复制
writer.save()
PermissionError: [Errno 13] Permission denied: 'test.xlsx'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64458814

复制
相关文章

相似问题

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