Pandas 连接没有保留我的列。所有数据都被合并到一列中

问题描述 投票:0回答:1

我的问题是我需要从多个请求中获取多个 json 响应,然后将这些请求连接到一个 csv 文件中。我使用 pd.concat 的外连接,但不是保留数据帧中的列,而是将所有内容放入一个单一列中。有办法解决这个问题吗?

这是我的代码:

data = []
full_df = pd.DataFrame(data)
uuid_counter = 0
for uuid in uuid_df['uuid']:
    headers = {'accept': 'application/json', 'api-key': APIKEY}
    response = re.get(
        f'URL/{uuid}',
        headers=headers)
    json_response = response.json()
    df = pd.json_normalize(json_response)
    full_df = pd.concat([full_df, df])
    full_df.to_csv('research.csv')
    uuid_counter += 1
python pandas python-requests
1个回答
0
投票

也许你应该将 df 定义为:

full_df = pd.DataFrame(data)

您的第一个连接是将一个形成的数据框(df)与一个空的数据框一起放置。我没有要测试的 json 数据,但我怀疑这可能是问题所在。

换句话说,在首次声明时提供 full_df 的列定义。

© www.soinside.com 2019 - 2024. All rights reserved.