Почему программа чтения CSV Python игнорирует поля, заключенные в двойные кавычки?

Я думаю, что это, вероятно, что-то простое, но после часа поиска мне не удалось выяснить, что я делает неправильно.

Я использую следующий код для чтения файла CSV - у меня нет проблем с чтением файла, но когда строка содержит поле, заключенное в двойные кавычки, потому что оно содержит разделитель, программа чтения CSV игнорирует заключают в двойные кавычки и разбирают поле на 2 отдельных поля.

Вот код, который я использую:

myReader = csv.reader(open(inPath, 'r'), dialect='excel', delimiter=',', quotechar='"')
for row in myReader:
    print row,
    print len(row)

Мой ввод:

hello, this is row 1, foo1
hello, this is row 2, foo2
goodbye, "this, is row 3", foo3

Что дает мне:

['hello', ' this is row 1', ' foo1'] 3
['hello', ' this is row 2', ' foo2'] 3
['goodbye', ' "this', ' is row 3"', ' foo3'] 4

Что мне нужно изменить, чтобы он распознал поле в двойных кавычках как одно поле? Я использую python версии 2.6.1.

Спасибо!

17
задан Mahmoud Abdelkader 29 July 2011 в 22:43
поделиться