Python: как разделить строку с помощью csv reader, который имеет необязательные кавычки

python-2.7 csv

360 просмотра

1 ответ

Я пытаюсь разделить запятую строку, где поле может иметь или не иметь кавычки вокруг них.

Есть ли способ определить кавычки, чтобы быть необязательным ?

Код ниже работает только с полями в кавычках. Я использую Python 2.7.11

import csv

temp = '"HELLO,WORLD",HELLO WORLD,END OF THE WORLD'

for i in csv.reader(temp):
    print('#next#')
    print(i)

Выход

#next       
['HELLO,WORLD']    
#next#    
['', '']    
#next#    
['H'] 
#next#     
['E']    
...

Ожидаемый выход

#next       
['HELLO,WORLD']    
#next       
['HELLO WORLD']    
#next       
['END OF THE WORLD']    
Автор: 576i Источник Размещён: 08.11.2019 11:05

Ответы (1)


1 плюс

Решение

Из документации модуля csv :

csv.reader(csvfile, dialect='excel', **fmtparams)
    Return a reader object which will iterate over lines in the given csvfile.
csvfile can be any object which supports the iterator protocol and
returns a string each time its next() method is called ..

Итак, вам нужно передать список строк на ваш csv.readerвызов, чтобы получить правильный вывод.

temp = ['"HELLO,WORLD",HELLO WORLD,END OF THE WORLD']
Автор: taras Размещён: 20.08.2016 09:00
Вопросы из категории :
32x32