結果のjsonデータを解析して、必要なセクションのみを返すときに問題が発生しました(たとえば、「名前」、「通路」、「ステータス」)。これらのアイテムのみを出力するように出力を変更するにはどうすればよいですか?Pythonでjsonデータを解析する
コード:
for coro in tqdm(asyncio.as_completed(tasks, loop=loop)):
try:
response = await coro
if response is None:
continue
data, store = response
result = json.loads(data['searchResults'])['results'][0]
summary = {
'name': result['name'],
'aisle': result['price']['aisle'][0],
'status': result['inventory']['status'],
}
results[store] = summary
except (IndexError, KeyError):
continue
with open('Testing.txt', 'w') as outfile:
json.dump(results, outfile, indent = 2)
outfile.write('\n')
私は次の形式を取得印刷する場合:
'35': { 'name': 'Camera', 'aisle': 'M.35', 'status': 'Out of stock' },
'36': { 'name': 'Camera', 'aisle': 'J.35', 'status': 'In stock' }
:
{
"1": {
"name": "camera",
"aisle": "M.3",
"status": "In Stock"
},
"2": {
"name": "camera",
"aisle": "M.53",
"status": "Out of Stock"
},
"3":{
"name": "camera",
"aisle": "M.32",
"status": "In Stock"
}
}
を私のような、単一のライン上の各ループのための出力を希望
万が一['json'](https://docs.python.org/3/library/json.html)ドキュメントを読んだことがありますか? JSONデータをPythonのdictに変換する方法を説明しています。次に、適切なdict要素にアクセスして、好きなように印刷するだけです。 – MattDMo
その場合は、jsonを使用して項目を追加してテキストファイルに書き込む方がよいでしょう。 – Kasramvd
ありがとうございます - 上記の投稿を更新しましたが、次のエラーが表示されています:NameError:name 'data'が定義されていません –