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