Excel输出损坏:Openpyxl公式设置?

问题描述 投票:0回答:1

我正在使用pandas.ExcelWriter()从pandas DataFrames创建一些Excel电子表格。

问题:

  • 对于某些字符串输入,这会创建损坏的.xlsx文件,需要修复。 (某些内容有问题 --- 已删除的公式,参见以下错误msg)

  • 我认为这是因为Excel不会将单元格内容解释为字符串,而是无法解析的公式,例如当字符串值以“ =“

  • 开头时

问题:

  • 使用xlsxwriter作为引擎时,我可以通过设置参数pandas.ExcelWriter()

  • 解决此问题
  • openpyxl是否有类似的参数?

故障排除:

  • 我找到了Workbook的options = {"strings_to_formulas" : False }参数,但它似乎仅适用于读取文件/我无法使其与ExcelWriter()一起使用。

  • 并非所有输出值都是字符串/我想避免将所有输出都转换为str

  • 在这里找不到适用的问题

任何提示都非常感谢,谢谢!


错误消息:

我们在'file.xlsx'中发现了某些内容的问题。您是否希望我们尽力恢复原状?如果您信任此工作簿的来源,请单击“是” >>

打开后的日志显示:

[...] summary =“以下是已删除记录的列表:”>已删除记录:/xl/worksheets/sheet1.xml部分[...]

中的公式

代码

data_only

版本:

熊猫@ 0.24.2openpyxl @ 2.5.6

Excel 2016 for Mac(但在Win上可以复制)

我正在使用pandas.ExcelWriter()从pandas DataFrames创建一些Excel电子表格。问题:对于某些字符串输入,这将创建损坏的.xlsx文件,需要修复。 (问题...

python excel pandas openpyxl
1个回答
0
投票

我也在这个问题上苦苦挣扎。我发现了一个奇怪的公式解决方案。我必须在公式中用data_only(逗号)替换所有import pandas excelout = pandas.ExcelWriter(output_file, engine = "openpyxl") df.to_excel(excelout) excelout.save() (分号)符号。当我使用Excel打开结果xlsx文件时,此错误没有出现,并且Excel中的公式具有通常的;

© www.soinside.com 2019 - 2024. All rights reserved.