Путаница с новой строкой Python в файле CSV

У меня есть следующий код Python. Он читает файл CSV и выводит первый столбец в новый файл CSV.

Но проблема в моем CSV-файле, кроме новых строк для создания новых строк. Но они заключены в двойные кавычки.

Например, вот так:

A, B, C,
D, "12
34", E,
F, G, H

Поэтому я думаю, что мне нужно добавить quotechar = '"' где-то, но я не мог понять это.

f_in = open('source.csv')

fields = []

for line in f_in.readlines():
    fields.append([item.strip('\n') for item in line.split(',')])
f_in.close()

f_out = open('sourceNew.csv', 'w')

for i in range(len(fields)):
    if fields[i][0] != '':
        f_out.write(fields[i][0] + ',,\n')


f_out.close()

Как я могу отличить настоящую новую строку и завернутые в двойные кавычки.

Спасибо

Ответы на вопрос(2)

Да, это так,

import csv

f_in  = csv.reader (open('source.csv'), quotechar='"')

fields = []

for line in f_in:
    fields.append(line)

f_out = open('sourceNew.csv', 'w')

for i in range(len(fields)):
    if fields[i][0] != '':
        f_out.write(fields[i][0] + ',,\n')


f_out.close()import csv

f_in  = csv.reader (open('source.csv'), quotechar='"')

fields = []

for line in f_in:
    fields.append(line)

f_out = open('sourceNew.csv', 'w')

for i in range(len(fields)):
    if fields[i][0] != '':
        f_out.write(fields[i][0] + ',,\n')


f_out.close()

Благодарю.

Решение Вопроса

ИспользоватьPython CSV модуль:

import csv

records = []
reader = csv.reader(open('source.csv', 'rb'))

for record in reader:
    print record
    records.append(record)

Надеюсь, это поможет.

 Steve02 мая 2019 г., 19:18
Я считаю, что правильный ответ - это использованиеnewline='' при открытии файла ...
 jimhark20 нояб. 2012 г., 13:24
@Lafada, спасибо за редактирование. Правильная гиперссылка выглядит лучше.
 jimhark27 мар. 2016 г., 19:23
С помощьюcsv.reader (open('source.csv'), quotechar='"'), с кавычкой указанным помогает. Смотрите ответ ОП с полным кодом.
 Erik25 мар. 2016 г., 18:51
Используя ввод вопросов и этот скрипт, получается 4 отдельных массива, если я неЯ что-то упустил ... ['A', 'B', 'C', ''] ['D', ' "12'] ['34 "," E ", ''] ['F', 'G', 'H']

Ваш ответ на вопрос