2013-04-29 30 views
3

我想單獨基於逗號字符串中的逗號分隔符分割字符串,但是當用戶用雙引號內的逗號應保持原樣。爲此我寫了下面的代碼。但是,下面給出的代碼似乎不起作用。有人能幫我弄清楚錯誤是什麼嗎?如何根據逗號作爲剩餘,因爲它是在Python雙引號

>>> from csv import reader 
>>> l='k,<livesIn> "Dayton,_Ohio"' 
>>> l1=[] 
>>> l1.append(l) 
>>> for line1 in reader(l1): 
     print line1 

這我得到的輸出是:

['k', '<livesIn> "Dayton', '_Ohio"'] 

而我想要的輸出:['k', '<livesIn> "Dayton,_Ohio"']即我不想"Dayton,_Ohio"得到分離。

+0

您需要配置方言參數。的http://docs.python.org/2/library/csv.html#csv-fmt-params – nhahtdh 2013-04-29 08:26:21

+1

可能重複[如何分割,但忽略引號的字符串分隔符,在蟒蛇?](http://stackoverflow.com /問題/ 2785755 /如何做分割,但是,忽略的隔膜式引號串式的Python你爲什麼要使用CSV解析字符串,而不是一個CSV文件) – Kobi 2013-04-29 08:27:15

+0

? – bozdoz 2013-04-29 08:28:03

回答

1

所以這是一種方式。

>>> from csv import reader 
>>> l='k,<livesIn> "Dayton,_Ohio"' 
>>> l1=[] 
>>> l1.append(l) 
>>> for line in reader(l1): 
... print list((line[0], ','.join(line[1:]))) 
... 
['k', '<livesIn> "Dayton,_Ohio"'] 
相關問題