2017-03-06 11 views
-1

目的:以下の文字列から、「キー」値と「照会」値を並べて抽出する必要があります。 APIによって返されます。Pythonの文字列:辞書の中にあるリスト内の辞書を照会する方法

私はPythonのエキスパートではありませんが、私が打つAPIはリスト内に辞書を返します。リスト自体は辞書の中にあります。

これは問題の要点[リストの関与]のようです。 APIは、以下のような複数の行を返す場合があることに注意してください。

{'Condition1': 'True', 'Load': 'Normal', 'query': 'xyz', 'results': [{'F1': 'abc', 'F2': 'def','Key': 'dfg4325'}]} 

上記の例から、私は次のようにCSVのように、つまりられる組み合わせた文字列を取得しようとしている:

'xyz','dfg4325' 

私は戦術の数を試みたが、何も作業していません。リストの辞書の中にある 'key'フィールドは常に英数字です。そうでないと、ハックが発生します。

どのような考えにも感謝します。私はこれをgoogledとちょうど正しい答えを打つことはできません。

+5

は任意のPythonのチュートリアルで基本的なタスクです。どのような "戦術"を試してみましたか? – TigerhawkT3

答えて

1

あなたは「キー」の値を見つけるために、辞書やリストを反復処理することができ、例えば、リストや辞書へのアクセス

for key, val in response.items(): 
    if isinstance(val, list): 
     for dic in val: 
      if 'Key' in dic: 
       val_of_key = dic.get('Key') 
       break 
+0

ありがとうございます。それはうまくいった。私は少しそれを微調整しました、下を参照してください。パイプで区切られたファイルのために終わりました。 – marucho21

1
if isinstance(search_response["results"], list): 
     for dic in search_response["results"]: 
      if "Key" in dic: 
       val_of_key = dic["Key"] 
       decoded_Key = (val_of_key + "|" + search_response["query"]+ "\n") 

       # setup a dummy text file in the same fldr as the pycharm project 
       # appends the results to a text 
       with open("dummy.txt", "a") as query_file: 
        query_file.write(decoded_Key) 
+0

これは私が使ったファイナルです – marucho21

関連する問題