-2

私はこの string を持っています'id,obj1,"string, etc",obj2'。これを次のような dict に分割する必要があります。

{
  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

/([^"]*)(?:"([^"]*)")?/入力に繰り返しのような正規表現を適用できます。各一致で、最初のサブグループの一致にはコンマで直接分割できる要素が含まれ、2 番目のサブグループの一致 (存在する場合) には引用符付きのエントリが含まれます。

于 2013-02-22T19:00:31.790 に答える