Панды меняют формат данных - PullRequest
0 голосов
/ 01 октября 2018

Итак, у меня есть скрипт на python, который преобразует файл .xls или .xlsx в csv:

df = pd.read_excel(input_name, sheet_name)

df.to_csv(output_name, sep=';', index=False, quotechar='\'', decimal='')

Во время преобразования данные файла input_name, в котором значение было целым числом, становятсято же самое целое число с дополнительным '0' в конце.И значения с плавающей запятой (представленные так: например, 10,0548415184, но с переменной длиной) теряют там разделитель (,) и также становятся целыми числами с дополнительными нулями.

В качестве примера этот вход:

1000    98,762154966389  0,00   0,00    98,76   ABC_NAME

станет:

10000   9876215496638900    0   0   9876215496638900   ABC_NAME

Почему?Как я могу решить это?

желаемый вывод должен совпадать с вводом (но в csv, а не в xls / xlsx)

РЕДАКТИРОВАТЬ: nuriselcuk дал мне ответ, и теперь он работает нормально.

Спасибо!

код должен быть:

df.to_csv(output_name, sep=';', index=False, quotechar='\'', decimal=',')

1 Ответ

0 голосов
/ 01 октября 2018

Пожалуйста, используйте decimal=',' для распознавания десятичных знаков

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