-2

我有这个字符串'id,obj1,"string, etc",obj2',现在我需要把它拆分成这样的字典:

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

我一直在玩正则表达式,试图分割字符串但没有成功。任何帮助表示赞赏

4

2 回答 2

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'}
于 2013-02-22T18:54:12.677 回答
0

您可以/([^"]*)(?:"([^"]*)")?/对输入重复应用正则表达式。在每个匹配中,第一个子组匹配包含可以直接用逗号分隔的任何元素,第二个子组匹配(如果有的话)包含一个带引号的条目。

于 2013-02-22T19:00:31.790 回答