我正在将一个StyleFrame写入一个新的Excel表,但在重新打开工作簿之前,我无法看到更改。我怎样才能立即看到更新?我也尝试过使用DataFrame,但结果是一样的。
writer = StyleFrame.ExcelWriter(cls.wb_path)
writer.book = cls.wb
sf.to_excel(writer, sheet_name="Extra fields", header=False, index=False)
writer.save()事先非常感谢!
发布于 2020-10-21 14:47:42
根据pandas docs,在创建ExcelWrite对象时需要提供ExcelWrite。
目前,这是不可能通过StyleFrame.ExcelWriter快捷方式,但您可以使用pandas.ExcelWriter
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:


关于
--在重新打开工作簿之前我无法看到更改
这与pandas、styleframe、openpyxl甚至一般Python无关。只有在重新打开Excel (或正在使用的任何其他电子表格软件)时才会看到更改,因为这就是设计上述软件(甚至是正在使用的操作系统)的方式。实际上,我很惊讶你竟然在文件打开时成功地执行了代码。通常,如果试图将工作表保存到当前打开的文件中,则会得到显式的PermissionError错误:
writer.save()
PermissionError: [Errno 13] Permission denied: 'test.xlsx'https://stackoverflow.com/questions/64458814
复制相似问题