如何不使用 XlsxWriter 从 DataFrame.to_excel 将“=”更改为 0

How To Not Have "=" Changed To 0 From DataFrame.to_excel Using XlsxWriter

我似乎无法确定为什么我的 DataFrame 将字符串“=”更改为 0。

import pandas as pd
df = pd.DataFrame.from_dict({'rate': ['=', '+', '-']})
writer = pd.ExcelWriter('Test.xlsx', engine='xlsxwriter', options={'strings_to_urls': False})
df.to_excel(writer, sheet_name='Test', index=False)
writer.save()

出于某种原因,它保留了“-”和“+”,但将“=”更改为 0。

Pandas 使用 XlsxWriter 的 write() 方法,该方法默认将以 = 开头的字符串视为公式。

您可以通过将 strings_to_formulas 设置为 False 来更改此行为(除了您已经在使用的 strings_to_urls 之外):

writer = pd.ExcelWriter('Test.xlsx', 
                        engine='xlsxwriter', 
                        options={'strings_to_urls': False, 
                                 'strings_to_formulas': False})

有关 XlsxWriter 构造函数选项的更多详细信息,请参阅 docs