目标:从下面的字符串中我需要并排提取由API返回的“key”值和“query”值。
我不是Python专家,但对我来说,似乎我正在点击的API会返回列表中的字典,这些字典本身就在字典中。
这似乎是问题的关键[列表的参与]。请注意,API可能会返回多行,例如下面的行。
{'Condition1': 'True', 'Load': 'Normal', 'query': 'xyz', 'results': [{'F1': 'abc', 'F2': 'def','Key': 'dfg4325'}]}
从上面的示例中,我正在尝试检索一个组合字符串,就像CSV一样,如下所示:
'xyz','dfg4325'
我尝试了很多策略,但没有任何效果。列表字典中的“key”字段始终是字母数字 - 否则我就会对它进行破解。
任何想法都将不胜感激。我用谷歌搜索了,但是无法找到正确的答案。
答案 0 :(得分:1)
您可以迭代字典和列表以查找“key”的值,例如
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
答案 1 :(得分: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)