#python #pandas #csv #separator
Вопрос:
У меня есть CSV-файл в следующем формате (это первые 3 строки):
A,B,P,S,P,B,BA,DE,PREM,DISC,DISC_P,DISC_T,DISC_F
2021/05/31,2012,"10","S","","Dis","DI","EX,,0.00,,"Pt",0,
2021/05/31,2109,"10","S","","Dis","DI","EX",0.00,,"tt",0,
Я хочу прочитать его в фрейм данных на Python, и это мой код:
df= pd.read_csv (r'C:file.csv',sep=",")
df.head()
Когда я запускаю этот код, он соответственно разбивает только первую строку на отдельные столбцы. Однако остальные строки просто заполняются в 1 столбец и не разделяются и не группируются соответственно под заголовками.
В чем может быть проблема?
Комментарии:
1. Скорее всего, CSV-файл плохо сформирован.
Ответ №1:
возможно, в вашем CSV-файле вы не закрываетесь "
или у вас больше или меньше ,
.
теперь в вашем CSV-файле я нахожу строку, которую вы не закрываете "EX
.
Я редактирую ваш csv-файл, как показано ниже:
A,B,P,S,P,B,BA,DE,PREM,DISC,DISC_P,DISC_T,DISC_F
2021/05/31,2012,"10","S","","Dis","DI","EX",0.00,,"Pt",0,
2021/05/31,2109,"10","S","","Dis","DI","EX",0.00,,"tt",0,
запустите этот код:
import csv
with open('file.csv', 'r') as file:
reader = csv.reader(file)
for row in reader:
print(row)
df= pd.read_csv(r'file.csv',sep=",")
df.head()
получил ниже выхода: