pat*_*ick 2 python excel pandas openpyxl
我正在使用 pandas DataFrames 创建一些 Excel 电子表格pandas.ExcelWriter()。
对于某些字符串输入,这会创建需要修复的损坏的 .xlsx 文件。(某些内容存在问题---删除了公式,请参见下面的错误消息)
我认为发生这种情况是因为 Excel 不会将单元格内容解释为字符串,而是将其解释为无法解析的公式,例如当字符串值以“=”开头时
当使用 xlsxwriter 作为引擎时,我可以通过设置参数来解决这个问题options = {"strings_to_formulas" : False }
openpyxl 有类似的论点吗?
我找到了data_onlyWorkbook 的参数,但它似乎只适用于读取文件/我无法让它与 ExcelWriter() 一起使用。
并非所有输出值都是字符串/我想避免将所有输出转换为 str
在这里找不到适用的问题
非常感谢任何提示,谢谢!
错误信息:
我们发现“file.xlsx”中的某些内容存在问题。您希望我们尽力恢复吗?如果您信任此工作簿的来源,请单击“是”
打开后日志显示:
[...] 摘要=“以下是已删除记录的列表:”>已删除记录:/xl/worksheets/sheet1.xml 部分中的公式 [...]
代码
import pandas
excelout = pandas.ExcelWriter(output_file, engine = "openpyxl")
df.to_excel(excelout)
excelout.save()
Run Code Online (Sandbox Code Playgroud)
版本:
熊猫@0.24.2 openpyxl @2.5.6
Excel 2016 for Mac(但在 Win 上复制)
小智 7
我也曾为这个问题苦苦挣扎。我发现了一个奇怪的公式解决方案。我必须将公式中的所有;(分号)符号替换为(逗号)。,当我用Excel打开结果xlsx文件时,这个错误没有出现,Excel中的公式也正常;。
| 归档时间: |
|
| 查看次数: |
2378 次 |
| 最近记录: |