2013-02-22 57 views
-2

我有這個字符串'id,obj1,"string, etc",obj2'一個字符串,現在我需要把它們分割像這樣的字典:分裂例外

{ 
    1 = 'id', 
    2 = 'obj1', 
    3 = 'string, etc', 
    4 = 'obj2' 
} 

我一直在使用正則表達式玩弄,企圖分裂繩子,但沒有成功。任何幫助表示讚賞

回答

9

類似以下內容可以爲您的使用情況下工作:

>>> s = 'id,obj1,"string, etc",obj2' 
>>> import csv 
>>> dict(enumerate(next(csv.reader([s])),start=1)) 
{1: 'id', 2: 'obj1', 3: 'string, etc', 4: 'obj2'} 
0

您可以應用正則表達式像/([^"]*)(?:"([^"]*)")?/反覆輸入。在每個匹配中,第一個子組匹配包含可以直接用逗號分隔的任何元素,而第二個子組匹配(如果有)包含引用條目。