无法使用从JSON提取数据json.json文件(正常化)

2024-06-01 20:23:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从jsonapi响应中提取数据,但由于某些原因,它不起作用。你知道吗

我的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)

times是我必须调用API的次数,每次我将其附加到dfs,然后我将其写入数据帧。你知道吗

出于某种原因,当我运行这个函数时,它会返回一个空的数据帧,即使我在while循环中打印dfs,它也会保持空,不知道为什么,因为Postman会返回JSON,如示例所示。你知道吗

谢谢你的建议。你知道吗


Tags: 数据eventidjsonsourcemessagestatusnull
1条回答
网友
1楼 · 发布于 2024-06-01 20:23:49
  • 您需要进行一些调试,或者只是打印出代码逻辑中的步骤。 首先,你的回答是什么,打印出来 响应\u json=响应.json()
  • 那么 以下操作的结果是什么 结果=pd.io.json文件.json \u normalize(响应\u json['hits']['hits']) 打印出来
  • 那么 它是否真的附加了(检查大小和内容并打印出来)? dfs.append文件(结果)

等等

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

enter image description here

enter image description here

相关问题 更多 >