2017-02-28 12 views
0

私はかなり複雑な文字列を検索しようとしていますが、これはウェブサイトから取得しています。これは、オンラインストアの製品IDのリストです。次のように文字列は次のとおりです。Python Re:正規表現を使ってリストを検索する

['{ "40710": { "params": ["Black", "37"]}, "40711": { "params": ["Black", "37,5"]}, "40712": { "params": ["Black", "38"]}, "40713": { "params": ["Black", "38,5"]}, "40714": { "params": ["Black", "39"]}, "40715": { "params": ["Black", "40"]}, "40716": { "params": ["Black", "40,5"]}, "40717": { "params": ["Black", "41"]} }'] 

私はキー、およびサイズ(二から三桁の数字)とID(5桁の数字)を有することにより、このデータから辞書を作成するために期待しています。

これは私が辞書のように見てみたいものです。

dictionary = {'40710':'37', '40711':'37,5', '40712':'38', '40713':'38,5', '40714':'39', '40715':'40', '40716':'40,5', '40717':'41'} 

正規表現はこれで移動するための方法である場合、私は知らないが、すべてがそれを指すように思えます。しかし、私は本当にこのようなデータをどのように処理するのか分かりません。私は実際にここでいくつかの助けを使うことができます。

ありがとうございます。

+2

あなたは 'json.loads()'と、あなたが解析されたものからしたい辞書の作成を試してみましたか? –

答えて

5

行う必要がありますjson.loadsとPythonオブジェクトに変換した後辞書理解

import json 

d = {k: v['params'][1] for k, v in json.loads(lst[0]).items()} 
print(d) 
# {'40710': '37', '40711': '37,5', '40712': '38', '40713': '38,5', '40714': '39', '40715': '40', '40716': '40,5', '40717': '41'} 
+1

ええと、あなたの答えがうまくいくように質問を変更しましたか? –

+1

@StefanPochmannこれは誤字ではない場合は、どういうことかと思います –

+0

json.loadsを使ってPythonオブジェクトに変換する方法の例を教えてください。私はPythonでJSONモジュールについて何も知らない。 –

関連する問題