2017-03-06 62 views
-1

目標:從下面的字符串中我需要並行提取'key'值和'query'值,它們是由API返回。Python字符串:如何查詢列表裏面的字典

我不是Python專家,但對我來說,我打的API似乎會返回一個列表中的字典,它們本身在字典裏面。

這似乎是問題的核心[參與名單]。請注意,該API可能會返回多行,如下面的行。

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

從上面的例子中,我試圖檢索將即像一個CSV組合的字符串如下:

'xyz','dfg4325' 

我已經嘗試了一些戰術,但沒有什麼工作。列表字典中的'key'字段始終是字母數字 - 否則我會爲它進行破解。

任何想法將不勝感激。我GOOGLE了這一點,只是不能達到正確的答案。

+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