Stack Overflow на русском Asked by user388794 on December 1, 2020
имеется csv файл такого формата:
Загружаю его, работаю с ним и пытаюсь его сохранить с помощью pandas в формате с разделенной запятой:
Загрузка:
df1 = pd.read_csv('../input/FILE.csv', delimiter=';')
Сохранение: df1.to_csv('FILE.csv', decimal='.', index=True)
Хочу получить дробные числа с точкой и значения через запятую, по первой строчке это было бы:
0,,0,,,,0.0156,25.49019623,64,100,801,7.849999905,22,-0.0078,,SmoothCondition,LowCongestionCondition,0
Получаю 0,,0,,,,"0,0156","25,49019623",64,100,801,"7,849999905",22,"-0,0078",,SmoothCondition,LowCongestionCondition,0
Как избавиться от кавычек и вместо запятой определить точку?
Похоже в исходном CSV файле использовалась ,
в качестве десятичного разделителя. По умолчанию функция pd.read_csv(..., decimal='.')
использует точку в качестве десятичного разделителя, поэтому при парсинге вещественных чисел с запятой в качестве десятичного разделителя, ячейка "0,0156"
будет прочитана как строка.
Для решения данной проблемы следует указать явно decimal=','
при чтении файла:
df1 = pd.read_csv('../input/FILE.csv', delimiter=';', decimal=',')
Correct answer by MaxU on December 1, 2020
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP