使用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 文件,因为它以“=”和不正确的公式开头。有什么办法可以逃避“=”吗?我尝试用引号转义整个文本字段,这可行,但我想知道是否存在更优雅的解决方案。也许可以设置列类型(如此处解释)?
在 Excel 中,您可以在保存工作簿之前添加一些代码:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Worksheets(<YourWorksheet>).Cells(row, column).EntireColumn.NumberFormat = "@"
End Sub
您是否尝试在文本开头添加
'
,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)
添加一个不可见的角色:
.str.replace("=", "\u200B=")