У меня есть CSV, который визуально не выглядит сломанным. Один из столбцов содержит полные электронные письма и последующие дополнительные запятые. Формат что-то вроде:Python CSV Reader, форматирование CSV
ID | Info | Email | Notes
--------------------------------------------------
1234 | Sample | Full email here,| More notes here
| and email wraps.|
--------------------------------------------------
5678 | Sample2| Another email, | More notes
--------------------------------------------------
9011 | Sample3| More emails | Etc.
--------------------------------------------------
Я использую читатель CSV, который выводит каждую новую строку в качестве новой строки, и это неправильно. Например, я получаю:
Line 1: 1234 | Sample | Full email here,| More notes here
Line 2: | and email wraps.|
Line 3: 5678 | Sample2| Another email, | More notes
Line 4: 9011 | Sample3| More emails | Etc.
Мне это нужно, чтобы быть в состоянии признать разделители ячеек так же, как Excel или Libre бюро сделать, и получить это:
Line 1: 1234 | Sample | Full email here, and email wraps.| More notes here
Line 2: 5678 | Sample2| Another email, | More notes
Line 3: 9011 | Sample3| More emails | Etc.
У меня есть этот код:
import csv
import sys
csv.field_size_limit(sys.maxsize)
file = "myfile.csv"
with open(file, 'rU') as f:
freader = csv.reader(f, delimiter = '|', quoting=csv.QUOTE_NONE)
for row in freader:
print(','.join(row))
Я пробовал разделитель = ',' или delimiter = '\ n', но не повезло. Любые идеи?
Не могли бы вы добавить * фактические * данные в файле CSV для трех записей, которые вы используете в вашем примере? – martineau
Извините, это конфиденциально. –