将 json 转换为 python 中 for 循环中的数据帧

convert json to dataframe in for loops in python

我正在尝试使用 api 调用数据并使用返回 json 的 for 循环制作数据帧。我能够创建第一个数据框,但我的 for 循环仅 returns 第一个 json -> 数据框。折腾了几天,决定在这里请教高手..

import requests
import json
import pandas as pd

# create an Empty DataFrame object
df = pd.DataFrame()

# api header
headers = {"Accept": "application/json","Authorization": "api_secret"}

#email for loops
email_list = ["abc@gmail.com", "xyz@gmail.com"]

#supposed to read 2 emails in the list and append each df but only reads the first one...# 

for i in email_list:

  querystring = {"where":i}  
  response = requests.request("GET", "https://example.com/api/2.0/export", headers=headers, params=querystring) 

  with open('test.jsonl', 'w') as writefile:
    writefile.write(response.text)    
  data = [json.loads(line) for line in open('test.jsonl', 'r')]
  FIELDS = ["event"]
  df = pd.json_normalize(data)[FIELDS]
  df = df.append(df)

我想知道是否需要更改 df append 中的某些内容,但我无法确定需要更改的位置。非常感谢您!

df = pd.json_normalize(data)[FIELDS]
df = df.append(df)

改为每次都覆盖数据帧,在追加之前创建一个新数据帧:

df2 = pd.json_normalize(data)[FIELDS]
df = df.append(df2)