我需要获取 VALUE_TYPE(电子邮件 -> VALUE_TYPE)
我的代码是这样的
payload1 = { "FILTER": {">COMPANY_ID": 0}, # "SELECT": [ "ID", "NAME", "LAST_NAME", "TYPE_ID", "SOURCE_ID", "COMPANY_ID","DATE_CREATE","DATE_MODIFY","EMAIL"], "SELECT": [ "ID", "NAME", "LAST_NAME", "TYPE_ID", "SOURCE_ID", "COMPANY_ID","DATE_CREATE","DATE_MODIFY","EMAIL"], "start": 50*p} response = requests.post(url, json=payload1) data = response.json() res = pd.json_normalize(response.json(), record_path=["result"], meta = [['EMAIL','VALUE_TYPE']],errors="ignore") print(res)
你能帮忙吗,我的代码有什么问题吗?
对于每一行,我需要“Value_type”参数的值(“WORK”)
出现 NaN 值是因为 EMAIL 嵌套在每个结果对象中,而 json_normalize 无法直接访问 meta 中的嵌套数据。您需要先规范嵌套的 EMAIL 数据,然后才能访问 VALUE_TYPE。
res = pd.json_normalize(data['结果'], 'EMAIL', ['ID', ['EMAIL', 'VALUE_TYPE']], 错误='忽略')
这会将 EMAIL 对象展平为各自的行,并将每封电子邮件与父对象中的 ID 和 VALUE_TYPE 配对。