Pandas 在字段开头写入 Excel 转义“=”符号

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

使用Python Pandas,我想将一些内容写入Excel文件:

=) some text

如何安全地执行此操作而不出现 Excel 错误?我使用以下代码:

import pandas as pd
df = pd.DataFrame(["=) some text"])
writer = pd.ExcelWriter("test_file.xlsx")
df.to_excel(writer)
writer.save()

此特定文本输入会创建不正确的 Excel 文件,因为它以“=”和不正确的公式开头。有什么办法可以逃避“=”吗?我尝试用引号转义整个文本字段,这可行,但我想知道是否存在更优雅的解决方案。也许可以设置列类型(如此处解释)?

python excel pandas dataframe
3个回答
0
投票

在 Excel 中,您可以在保存工作簿之前添加一些代码:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Worksheets(<YourWorksheet>).Cells(row, column).EntireColumn.NumberFormat = "@"
End Sub

0
投票

您是否尝试在文本开头添加

'
,Excel 会自动将其视为字符串:

df = pd.DataFrame(["'=) some text"])

从您提供的链接中,您可以应用以下内容:

format1 = workbook.add_format({'num_format': '@'})
worksheet.set_column('A:A', None, format1)

最后,您可以将整个

df
转换为 Excel 可接受的字符串:

df = df.apply(lambda x: "'" + x)

0
投票

添加一个不可见的角色:

.str.replace("=", "\u200B=")
© www.soinside.com 2019 - 2024. All rights reserved.