Python 无法使用JSON.JSON(normalize)从JSON提取数据

Python 无法使用JSON.JSON(normalize)从JSON提取数据,python,json,pandas,Python,Json,Pandas,我试图从json api响应中提取数据,但由于某些原因,它无法工作 我的JSON响应: { "_scroll_id": "DnF1ZXJ5VGhlbkZldGNoIAAAAAAGKVYSHXRpZXItMTpSQkhOeVIyWlR4R3JXOV9CXzFGa3VBAAAAAAF9VEkddGllci0xOm50QmsycWdoVEpLQWVMcmg4QjBQZEEAAAAABrMQFh10aWVyLTE6ZkNlMzFxVEZSZG1oRkl3UnlSRUFWdwAAAAAIEPKG

我试图从json api响应中提取数据,但由于某些原因,它无法工作

我的JSON响应:

 {
    "_scroll_id": "DnF1ZXJ5VGhlbkZldGNoIAAAAAAGKVYSHXRpZXItMTpSQkhOeVIyWlR4R3JXOV9CXzFGa3VBAAAAAAF9VEkddGllci0xOm50QmsycWdoVEpLQWVMcmg4QjBQZEEAAAAABrMQFh10aWVyLTE6ZkNlMzFxVEZSZG1oRkl3UnlSRUFWdwAAAAAIEPKGHXRpZXItMTpacFFDQXN0NlFaLXc5NmpsNzZieEtBAAAAAAjIva0ddGllci0xOmZldHg0VGVNUUVTWjhfeVpOWlVKT0EAAAAABnInEx10aWVyLTE6MHdfVlJXRjNSZTZvZm13QjlCWVNadwAAAAAGKtdpHXRpZXItMToyMUZVTTN1clJycTh4dWdxNXIxYUhnAAAAAAGQpC8ddGllci0xOmZVMkV3WVF3U3YyRmRnRFAtcWFsb1EAAAAACI4HyB10aWVyLTE6eFBoSXNib0ZScGVPMkk0TjlJbS1HZwAAAAAGizMtHXRpZXItMTp1SzdVUXozSlNIV2tLRzdXOXZOZGdRAAAAAAYqmIkddGllci0xOk83MkNNTkNVVEtTOWg4N25UOFplN3cAAAAAAhEXeR10aWVyLTE6OEhhc1pRTmFRRU9QZ1BYR1c5elVrUQAAAAAH-1M6HXRpZXItMTp1cEFtdUNEUFJRYURRNE9kbUhHT2N3AAAAAAhzX4sddGllci0xOmxGUzYxSng4U3lhTmR0V2Y4cVFrVUEAAAAAAdnZZR10aWVyLTE6cjBIOHNobU1RYjZOWXBDX210bTFiUQAAAAABkKQwHXRpZXItMTpmVTJFd1lRd1N2MkZkZ0RQLXFhbG9RAAAAAAD1SAEddGllci0xOkNFcXNmUi1YVFl5bjV3R0lJT3p0LXcAAAAAAU_0Sh10aWVyLTE6S1JZejNfenBRby1uYU9jSGdkVF9sQQAAAAAH_GSHHXRpZXItMTpheXZacFZWM1M1LXd2UVJgqVDNsU2FRAAAAAAeA5QsddGllci0xOjhiQnR0SXJHUnhPdVRNTUt0MGd5S1EAAAAAByQlcx10aWVyLTE6OVFESDFDZDFSR1NxdkRaTTY0V3BfQQAAAAAB2dlkHXRpZXItMTpyMEg4c2htTVFiNk5ZcENfbXRtMWJRAAAAAAYpVhMddGllci0xOlJCSE55UjJaVHhHclc5X0JfMUZrdUEAAAAABnInFB10aWVyLTE6MHdfVlJXRjNSZTZvZm13QjlCWVNadwAAAAABne9-HXRpZXItMTp1VnMxTHFXOVR0LW5YYnVXendYME1BAAAAAAgjU6sddGllci0xOkZqT29Rd0FJUUdhQUhkalVlMXJjMEEAAAAAAPVIAx10aWVyLTE6Q0Vxc2ZSLVhUWXluNXdHSUlPenQtdwAAAAAIhXNRHXRpZXItMTpHb3ZFNTRoYVQ3bUgwVURRZG1HNS1RAAAAAAD1SAIddGllci0xOkNFcXNmUi1YVFl5bjV3R0lJT3p0LXcAAAAAAOuGJx10aWVyLTE6U1J0d1J3SlZUYldJb3NlcGNtZWZNZwAAAAALcpePHXRpZXItMTpTTU1UeDZzR1FGdXFPR0c0QUp3d2dnAAAAAAE7ZYEddGllci0xOkNDTUVOV3JoUXNTcjZMTnFFU2owT3c=",
    "took": 9,
    "timed_out": false,
    "_shards": {
        "total": 32,
        "successful": 32,
        "skipped": 0,
        "failed": 0
    },
    "_clusters": {
        "total": 3,
        "successful": 3,
        "skipped": 0
    },
    "hits": {
        "total": 7932,
        "max_score": 0,
        "hits": [
            {
                "_index": "tier-1:5070_newlogs_20191206-01",
                "_type": "logs",
                "_id": "igU82W4BM8yD8vy7BLOy",
                "_score": 0,
                "_source": {
                    "status_message": "",
                    "triggerName": "",
                    "event_source": "gclid",
                    "message": null,
                    "gclid": "EAIaIQyobChMIgoaoj4mg5gIVy-R3Ch3QJQqSEAAYASAAEgI7dvD_BwE",
                    "coralogix": {
                        "branchId": "3158ee8e-fee1-48ca-f20e-889487f0b041",
                        "metadata": {
                            "companyId": 5070,
                            "sdkId": null,
                            "category": "app",
                            "className": "",
                            "methodName": "",
                            "severity": 3,
                            "threadId": 2,
                            "applicationName": "deals",
                            "ipAddress": "",
                            "computerName": "host",
                            "processName": null,
                            "subsystemName": "web"
                        },
                        "json_keys": "asctime cid event event_source gclid message msclkid namespace status status_message triggerName user_id",
                        "logId": "3823b47d-f0e2-4c19-9540-863b2d9b78fa",
                        "jsonUuid": "70ccb889-99ce-219f-42d5-42aca2f17803",
                        "templateId": "b18521b1-9bd7-cdf4-c9bf-10775ce600e6",
                        "timestamp": "2019-12-06T03:23:34.513"
                    },
                    "user_id": "1e87af83-7eb8-476f-955a-0a14e2cc63d6",
                    "namespace": "paid_clicks_tracking",
                    "event": "click_session_init",
                    "asctime": "2019-12-06 03:23:34,514",
                    "msclkid": "",
                    "cid": "",
                    "status": ""
                }
            },
            {
                "_index": "tier-1:5070_newlogs_20191206-01",
                "_type": "logs",
                "_id": "grY82W4BuwXMYnFXBR2S",
                "_score": 0,
                "_source": {
                    "status_message": "",
                    "triggerName": "",
                    "event_source": "gclid",
                    "message": null,
                    "gclid": "CjwKCAiAg8qLvBRAbEiwAE_ZzPTXGM47M_idspnpkV6KRkesruH_zToig9rT5tYbCDqEHMCcSRzlp1BoCVvEQAvD_BwE",
                    "coralogix": {
                        "branchId": "3158ee8e-fee1-48ca-f20e-889487f0b041",
                        "metadata": {
                            "companyId": 5070,
                            "sdkId": null,
                            "category": "app",
                            "className": "",
                            "methodName": "",
                            "severity": 3,
                            "threadId": 2,
                            "applicationName": "deals",
                            "ipAddress": "",
                            "computerName": "host",
                            "processName": null,
                            "subsystemName": "web"
                        },
                        "json_keys": "asctime cid event event_source gclid message msclkid namespace status status_message triggerName user_id",
                        "logId": "514bc4fd-97b0-4443-a304-92683a8222f8",
                        "jsonUuid": "70ccb889-99ce-219f-42d5-42aca2f17803",
                        "templateId": "b18521b1-9bd7-cdf4-c9bf-10775ce600e6",
                        "timestamp": "2019-12-06T03:23:34.974"
                    },
                    "user_id": "73974d1b-8484-4cf0-bed2-140a996666dd",
                    "namespace": "paid_clicks_tracking",
                    "event": "click_session_init",
                    "asctime": "2019-12-06 03:23:34,974",
                    "msclkid": "",
                    "cid": "1316194207.1575602567",
                    "status": ""
                }
            }
        ]
    }
}
我试图提取数据>数据中的所有内容,从索引到状态

dfs = []
item_count = 0
print(f'Actions needed - {times}')
while item_count <= times:
    response = requests.post(url_2, data=json.dumps(data_two), headers=headers)
    response_json = response.json()
    result = pd.io.json.json_normalize(response_json['hits']['hits'])
    item_count += 1
    print(f'Actions completed - {item_count}')
    dfs.append(result)

df = pd.concat(dfs, ignore_index=True)
print(df)
dfs=[]
项目计数=0
打印(f'Actions needed-{times}')
当项目计数
  • 您需要进行一些调试,或者只是打印出代码逻辑中的步骤。 首先,你的回答是什么,打印出来 response_json=response.json()
  • 然后 以下操作的结果是什么 result=pd.io.json.json_规范化(响应_json['hits']['hits']) 打印出来
  • 然后 它是否真的附加了(检查大小和内容并打印出来)? dfs.append(结果)
等等

看我的屏幕截图,我获取了你的JSON响应(保存在一个文件中)并获取了行,请参见下面的输出(第二张图片的下端)(不确定这是你需要的)


请提供有效的json数据,我们可以复制粘贴并运行您的代码。嗨,我已经编辑了json,谢谢您的提示。您能为我们提供所需的输出吗?您可以读取json并应用pandas,比如使用open(path)as json_file:data=json.loads(json_file.read()),然后您可以应用pd.Dataframe.from_dict(data[“hits”][“hits”])作为一个示例,它适用于我。只需从
response\u json=response.json()打印
response\u json
。问题可能就在这里。原来我调用的API有维护,谢谢你的建议。