我有这个字符串'id,obj1,"string, etc",obj2'
,现在我需要把它分成这样的字典:
{
1 = 'id',
2 = 'obj1',
3 = 'string, etc',
4 = 'obj2'
}
我一直在玩正则表达式,试图分割字符串但没有成功。任何帮助表示赞赏
答案 0 :(得分: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'}
答案 1 :(得分:0)
您可以对输入重复应用/([^"]*)(?:"([^"]*)")?/
之类的正则表达式。在每次匹配时,第一个子组匹配包含可以直接用逗号分割的任何元素,第二个子组匹配(如果有的话)包含带引号的条目。