Pandas .read_csv () игнорировать неверные строки / строки, содержащие поля FEWER. Текстовый файл - PullRequest
0 голосов
/ 22 апреля 2020

Я пытаюсь прочитать этот огромный текстовый файл: https://www.dropbox.com/s/3ikikw8bxde6y1i/TCAD_SPECIAL%20EXPORT_2019_20200409.zip?dl=0 (если вы скачаете zip, файл будет Special_ARB.txt (не обязательно для моего вопроса imo).

Я запускаю этот код (добавление error_bad_lines=False), чтобы игнорировать строки с полями, превышающими ожидаемые, что хорошо работает:

pd.read_csv(r'~/Special_ARB.txt', sep="|", 
            header=None,encoding='cp1252',error_bad_lines=False)

Проблема в том, что read.csv() произошел сбой, когда в строке было только 1 поле Со следующей ошибкой:

Задано слишком много столбцов: ожидается 77 и найдено 1

Есть ли способ указать python / pandas игнорировать эту ошибку? Это не дает мне знать, какая это строка. Более миллиона строк, поэтому я не могу найти ее самостоятельно.

  • Я попытался для l oop прочитать строку построчно и выясним это оттуда, но данные настолько велики, что python потерпел крах.
  • Количество столбцов равно 77, что правильно идентифицируется pandas при запуске кода, я не думаю, что это проблема.

Спасибо,

1 Ответ

0 голосов
/ 22 апреля 2020
try:
   pd.read_csv(r'~/Special_ARB.txt', sep="|", header=None,encoding='cp1252',error_bad_lines=False)
except <your error description>:
   <do this>
...