xlsxwriter 问题并忽略“=”

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

我正在使用 Python 的 xlsxwriter 将记录从 sql 数据库写入 excel 文件。一个特定的列具有以“=”符号开头的某些单元格,当 excel 然后尝试解释这些单元格时,这显然会造成问题。我发现我可以用 ' (单引号)来逃避它。在 Excel 中手动尝试后,我继续在我的代码中尝试。它起作用了,因为我不再收到 Excel 公式错误,但与我手动尝试时不同,当我在 Excel 中打开工作簿时,单引号仍然可见。如何在不影响最终 Excel 输出的情况下绕过此 Excel 错误?

with pandas.ExcelWriter(
    "file.xlsx", engine="xlsxwriter", mode="w"
    ) as writer:
    workbook = writer.book
    sheet_name = 'Sheet1'
    sheet_data = spark.read.csv(
        "path_to_file", header=True, multiLine=True
    )
    current_sheet = workbook.get_worksheet_by_name(sheet_name)
    spam_catch = current_sheet.write(
                            f"{setting['column']}{row_number}",
                            cell_output
                      )

python xlsxwriter
1个回答
2
投票

您可以传递 XlsxWriter constructor 选项 以防止它将以“=”开头的字符串转换为公式。

这样的事情应该有效:

with pandas.ExcelWriter(
        "file.xlsx", 
        engine="xlsxwriter", 
        engine_kwargs={'options': {'strings_to_formulas': False}})
    ) as writer:

另请参阅将 XlsxWriter 构造函数选项传递给 Pandas

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