Python json#u normalize:AttributeError list obj没有属性';价值';

Python json#u normalize:AttributeError list obj没有属性';价值';,python,json,api,python-requests,normalize,Python,Json,Api,Python Requests,Normalize,我正在处理来自API响应的JSON数据。我正在使用python发送一个GET请求,其中包含地址上的数据。我想捕获JSON响应并将其转换为数据帧 目前,我在字典列表中捕获了这些响应。我可以成功地在r.json或sample_列表[0]上使用json_normalize,但无法规范化整个列表。为了提高性能,我试图避免在循环中创建和附加df sample_list = [] for index, row in sample_df.iterrows():     sample_address = jso

我正在处理来自API响应的JSON数据。我正在使用python发送一个GET请求,其中包含地址上的数据。我想捕获JSON响应并将其转换为数据帧

目前,我在字典列表中捕获了这些响应。我可以成功地在r.json或sample_列表[0]上使用json_normalize,但无法规范化整个列表。为了提高性能,我试图避免在循环中创建和附加df

sample_list = []
for index, row in sample_df.iterrows():
    sample_address = json.dumps(
        {       
            "records": [
                {
                    "attributes": {
                    "OBJECTID": row['OBJECTID'],
                    "Address": row['Address'],
                    "City": row['City'],
                    "Region": row['Region'],
                    "Postal": row['Postal']
                }
                }
            ]
        }
        )

    r = re.get(url, params = { 'addresses': sample_address, 'f':'pjson'},verify = False)

    sample_list.append(r.json()['locations'])

###The Output of r.json for one address

{'locations': [{'address': '2600 Benjamin Franklin Pkwy, Philadelphia, Pennsylvania, 19130',..., 'score': 100}], 'spatialReference': {'latestWkid': 4326, 'wkid': 4326}}

###The sample_list of multiple r.json output
[[{'address': '520 Chestnut St, Philadelphia, Pennsylvania, 19106',
   'attributes': {'AddNum': '520',
   ...},
   'location': {'x': -75.14971142634045, 'y': 39.94905972672609},
   'score': 100}],
 [{'address': '2600 Benjamin Franklin Pkwy, Philadelphia, Pennsylvania, 19130',
   'attributes': {'AddNum': '2600',
    ...,
   'location': {'x': -75.17923104567541, 'y': 39.96474536190999},
   'score': 100}]]

在sample_list.append(r.json()['locations'])中,只需尝试“json_normalize”而不是“r.json”。

在sample_list.append(r.json()['locations'])中,只需尝试“json_normalize”而不是“r.json”。

更正-我可以在r.json['locations']上成功使用json_normalize来实现所需的输出,而不是在r.json上。要解决,我从:sample_list.append(r.json()['locations'])改为:sample_list.append(json_normalize(r.json()['locations']),然后可以使用pd.concat(sample_list)创建单个数据帧。更正-我可以在r.json['locations']上成功地使用json_normalize来实现所需的输出,而不是在r.json上,我从:sample_list.append(r.json()['locations'])改为:sample_list.append(json_normalize(r.json()['locations']),然后可以使用pd.concat(sample_list)创建单个数据帧。谢谢!这是非常接近。我假设您的意思是:从:sample_list.append(r.json()['locations'])到:sample_list.append(json_normalize(r.json()['locations']),我试图理解输出。每个列表项看起来像一行数据帧。我该如何转换为单个数据帧呢?别担心,问这个问题帮助我想到了答案:pd.concat(示例列表)谢谢!这是非常接近。我假设您的意思是:从:sample_list.append(r.json()['locations'])到:sample_list.append(json_normalize(r.json()['locations']),我试图理解输出。每个列表项看起来像一行数据帧。我该如何转换为单个数据帧呢?不用担心——问这个问题帮助我想到了答案:pd.concat(示例列表)