合并熊猫数据框

时间:2019-11-26 09:28:46

标签: python pandas

我对熊猫还很陌生。

我正在调用API,响应如下:

Id   name   number   key
1    john   540      us
2    alex   541      us
3    mary   542      us
4    kate   543      us
...

每次获得1000行数据框时,我都会调用相同的API大约120次。

def load_full(times):
    item_count = 0
    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(result)

我的目标是将120条响应(每行1000行)合并到一个数据框中,然后将其导出到.CSV文件。我已经尝试过追加或合并,但似乎找不到真正需要的逻辑,即120000x4数据帧。

如何将每个结果合并到一个文件中,该文件将包含每个API调用的每个结果?

谢谢您的建议。

1 个答案:

答案 0 :(得分:1)

想法是先创建DataFrame列表,先创建append,然后再创建concat

def load_full(times):
    dfs = []
    item_count = 0
    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
        dfs.append(result)

    df = pd.concat(dfs, ignore_index=True)