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

时间:2019-02-05 23:04:41

标签: pandas export-to-excel 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。

1 个答案:

答案 0 :(得分:1)

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