Как не иметь "=" изменено на 0 из DataFrame.to_excel с использованием XlsxWriter - PullRequest
0 голосов
/ 06 февраля 2019

Я не могу понять, почему мой 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 голосов
/ 06 февраля 2019

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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...