У меня есть текстовый файл с разделителями табуляции, который сохраняется в поле базы данных.Когда я пытаюсь проанализировать текстовое / строковое содержимое (из поля базы данных), я получаю сообщение об ошибке new-line character seen in unquoted field
.
Много SO сообщений ( здесь и здесь) имеет дело с чтением файла напрямую и укажите with open(path, 'rb') as f
или with open(path, 'rU')
.Однако я не могу использовать with open(...)
, так как я читаю текстовое / строковое значение из записи / поля базы данных.
Простой пример демонстрирует мою проблему ниже.
import csv
s = """X Y A B C D
E
F"""
list(csv.reader([s], delimiter='\t'))[0] # throws error
Концептуальнострока будет X\tY\tA\t\B\t\C\tD\rE\rF\r\n
.
Что бы я ожидал, это ['X', 'Y', 'A', 'B', 'C', 'D\rE\rF']
.
Если поле заключено в кавычки, то все работает.Но у меня нет контроля над тем, как генерируется этот текст (невозможно контролировать и реэкспортировать).Пример ниже.
s = """X Y A B C "D
E
F"
"""
list(csv.reader([s], delimiter='\t', quotechar='"'))[0]
Любые идеи о том, как я могу заставить этот анализ работать?