Python с Pandas не читает все записи из немного большого CSV.Python

Программы на Python
Ответить
Anonymous
 Python с Pandas не читает все записи из немного большого CSV.

Сообщение Anonymous »

Надеюсь, вы сможете мне помочь. При чтении немного большого CSV размером 400 МБ с помощью Pandas читаются не все записи. URL-адрес открытых данных: URL
С помощью Pandas я могу читать только 1 189 096 записей, но в файле есть 1 216 582, включая заголовок. . Версии этого файла предыдущих дней были прочитаны полностью и без проблем, даже без необходимости указывать "

Код: Выделить всё

col_names
", но сегодня выдала ошибку

Код: Выделить всё

"pandas.errors.ParserError: Error tokenizing data. C error: Expected 32 fields in line 417545, saw 44"
Вот почему мне пришлось указать столбцы, но он не читает весь файл и не выдает сообщений об ошибках.
Код Я использую в Python:

Код: Выделить всё

col_names = ["N", "TIPO_SEGURO", "SEXO", "TIEMPO_EDAD", "EDAD", "ESTADO_CIVIL", "NIVEL_DE_INSTRUCCION", "ETNIA", "COD_UBIGEO_DOMICILIO", "PAIS_DOMICILIO", "DEPARTAMENTO_DOMICILIO", "PROVINCIA_DOMICILIO", "DISTRITO_DOMICILIO", "FECHA", "ANIO", "MES", "TIPO_LUGAR", "INSTITUCION", "MUERTE_VIOLENTA", "NECROPSIA", "DEBIDO_CAUSA_A", "CAUSA_A_CIEX", "DEBIDO_CAUSA_B", "CAUSA_B_CIEX", "DEBIDO_CAUSA_C", "CAUSA_C_CIEX", "DEBIDO_CAUSA_D", "CAUSA_D_CIEX", "DEBIDO_CAUSA_E", "CAUSA_E_CIEX", "DEBIDO_CAUSA_F", "CAUSA_F_CIEX"]

tipo_de_datos = {"N":'int64', "TIPO_SEGURO":'string', "SEXO":'string', "TIEMPO_EDAD":'string', "EDAD":'string', "ESTADO_CIVIL":'string', "NIVEL_DE_INSTRUCCION":'string', "ETNIA":'string', "COD_UBIGEO_DOMICILIO":'string', "PAIS_DOMICILIO":'string', "DEPARTAMENTO_DOMICILIO":'string', "PROVINCIA_DOMICILIO":'string', "DISTRITO_DOMICILIO":'string', "FECHA":'string', "ANIO":'int64', "MES":'int64', "TIPO_LUGAR":'string', "INSTITUCION":'string', "MUERTE_VIOLENTA":'string', "NECROPSIA":'string', "DEBIDO_CAUSA_A":'string', "CAUSA_A_CIEX":'string', "DEBIDO_CAUSA_B":'string', "CAUSA_B_CIEX":'string', "DEBIDO_CAUSA_C":'string', "CAUSA_C_CIEX":'string', "DEBIDO_CAUSA_D":'string', "CAUSA_D_CIEX":'string', "DEBIDO_CAUSA_E":'string', "CAUSA_E_CIEX":'string', "DEBIDO_CAUSA_F":'string', "CAUSA_F_CIEX":'string'}

df = pd.read_csv(file_csv, names=col_names, sep=",", low_memory=False,skiprows=1 ,dtype= tipo_de_datos)

df9 = df.groupby(['ANIO']).N.count()

print(df9)

print(df.shape[0]) # To know how many records Pandas has loaded
Пожалуйста, если вы можете мне помочь, потому что у меня заканчиваются идеи, я уже использовал устранение "

Код: Выделить всё

low_memory
", устраняя "", и это не меняет результат. Заранее благодарю.

Подробнее здесь: https://stackoverflow.com/questions/791 ... -large-csv
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»