我正在使用 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
)
您可以传递 XlsxWriter constructor 选项 以防止它将以“=”开头的字符串转换为公式。
这样的事情应该有效:
with pandas.ExcelWriter(
"file.xlsx",
engine="xlsxwriter",
engine_kwargs={'options': {'strings_to_formulas': False}})
) as writer: