APIからJSONオブジェクトを取得しています。私はJSONデータをPython辞書に引き出しました。私は今、それがネストされ、サブリストとサブディクショナリを持っているので、辞書からデータを抽出するのが難しいと思っています。より良いデータが引き出さの本質を理解するために、私は以下試した:上記から複雑なネストされたPython辞書に保存されたJSONオブジェクトを簡単に読み取る方法
url = "https://api.xyz.com/v11/api.json?KEY=abc&LOOKUP=bbb"
response = requests.get(url)
data = response.json()
print (type(data))
print(data.keys())
print (type(data['Results']))
print (len(data['Results']))
print (type(data['Results'][0]))
print (data['Results'][0].keys())
print (type(data['Results'][0]['Result']))
print ((data['Results'][0]['Result'].keys()))
print (type((data['Results'][0]['Result']['Paths'])))
print (len((data['Results'][0]['Result']['Paths'])))
print (type((data['Results'][0]['Result']['Paths'][0])))
print ((data['Results'][0]['Result']['Paths'][0].keys()))
print (type(data['Results'][0]['Result']['Paths'][0]['Technologies']))
print (len(data['Results'][0]['Result']['Paths'][0]['Technologies']))
print ((data['Results'][0]['Result']['Paths'][0]['Technologies'][8].keys()))
print (data['Results'][0]['Result']['Paths'][0]['Technologies'][8]['Tag'])
、私は次の出力ました:これの他の反復からの
<class 'dict'>
dict_keys(['Results', 'Errors'])
<class 'list'>
1
<class 'dict'>
dict_keys(['Lookup', 'LastIndexed', 'FirstIndexed', 'Meta', 'Result'])
<class 'dict'>
dict_keys(['Paths', 'IsDB', 'Spend'])
<class 'list'>
9
<class 'dict'>
dict_keys(['LastIndexed', 'Technologies', 'Domain', 'SubDomain', 'FirstIndexed', 'Url'])
<class 'list'>
77
dict_keys(['FirstDetected', 'Name', 'LastDetected', 'Categories', 'Description', 'IsPremium', 'Tag', 'Link'])
cdn
を、私はに依存していることを知っています私が 'Paths'の後で選んだリスト項目は、5-100までの 'Technologies'のリスト長を変えることができます。私は特に、 'タグ' == A.のすべての技術のリストを取得することに興味があります。 'タグ' == A.を持つすべてのエントリのすべての上位レベルの情報を持つテーブルを作成できるようにします。理想的には、この情報をCSVファイルで取得したいと考えています。私はPandas dataframe from nested dictionaryとCreate a dictionary with list comprehension in PythonとConstruct pandas DataFrame from items in nested dictionaryを見てきましたが、は、特に( 'Paths'の後に)リストにアクセスすることについて混乱します。
これまでのコードは、すべてのデータが1つのセルに入り、すべて使用できないため、まったく役に立たない単純なデータダンプです。
JSONファイルの最初の2つの要素を表示できますか? – MMF
FlatDictを実行すると、https://pypi.python.org/pypi/flatdictに役立ち、CSV形式への変換を支援するフラットアウトされた辞書を繰り返すことができます –