У меня есть стек CSV-файлов, которые я хочу проанализировать - проблема в том, что половина имеет кавычки, используемые в качестве кавычек, и запятые внутри основного поля. Они на самом деле не CSV, но у них есть фиксированное количество полей, которые можно идентифицировать. Параметр dialect = csv. "Excel" отлично работает с файлами без лишних "и символов в поле.
Эти данные старые / не поддерживаются. Я пытаюсь протолкнуть в него немного жизни.
например.
"AAAAA
AAAA
AAAA
AAAA","AAAAAAAA
AAAAAA
AAAAA "AAAAAA" AAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAA, AAAAA
AAAAAAAAA AAAAA AAAAAAAAAA
AAAAA, "AAAAA", AAAAAAAAA
AAAAAAAA AAAAAAAA
AAAAAAA
"
Это отключает анализатор файлов и выдает ошибку _csv.Error: newline inside string
. Я сократил это до этой проблемы, удалив кавычки из 2-го поля, и модуль csv.reader анализирует файл ОК.
Некоторые поля многострочные - я не уверен, важно ли это знать.
Я ковырялся в настройках диалекта, и, хотя я могу найти 'skipinitialspace', похоже, это не решает проблему.
Для ясности - это недопустимый 'CSV', его объекты данных, которые слабо следуют структуре CSV, но имеют и "символы внутри полевого теста".
Определитель строк: \ x0d \ x0a
Я пробовал несколько попыток при разных сочетаниях двойной кавычки и переменной кавычек в модуле диалекта, но я не могу правильно разобрать этот синтаксический анализ.
Я не могу быть уверен, что комбинация "или" существует только на границах поля.
Эта проблема существует только для одного (последнего) из нескольких полей в файле, и существует несколько тысяч файлов.