Я читаю большой файл по частям и выполняю некоторые операции с каждым из них. При чтении одного из них у меня было следующее сообщение об ошибке:
pandas.errors.ParserError: Ошибка токенизации данных. Ошибка С: ожидается 26 полей в строке 15929977, пила 118
, что означает, что одна из моих строк файла не соответствует тому же формату, что и другие. То, что я думал, что мог сделать, было просто опустить этот кусок, но я не мог найти способ сделать это Я попытался сделать блок try/except
следующим образом:
data = pd.read_table('ny_data_file.txt', sep=',',
header=0, encoding = 'latin1', chunksize = 5000)
try:
for chunk in data:
# operations
except pandas.errors.ParseError:
# Here is my problem
То, что я написал здесь, состоит в том, что моя проблема заключается в том, что если фрагмент не анализируется должным образом, мой код автоматически перейдет к исключению, даже не входящему в цикл for , но я хотел бы пропустить этот кусок и перейти к следующему, на котором я хотел бы выполнить операции внутри цикла.
Я проверил stackoverflow, но не смог найти ничего похожего в том, где была выполнена попытка в цикле for. Любая помощь будет оценена.
UPDATE:
Я пытался сделать так, как предложено в комментариях:
try:
for chunk in data:
#operations
except pandas.errors.ParserError:
# continue/pass/handle error
Но по-прежнему не создается исключение, потому что, как уже говорилось, исключение создается при извлечении chyunk из моих данных, а не при выполнении операций с ним.