gpt4 book ai didi

python - 如何将多个json文件读取到pandas dataframe中?

转载 作者:行者123 更新时间:2023-12-01 00:44:47 25 4
gpt4 key购买 nike

我很难将多行分隔的 JSON 文件加载到单个 pandas 数据框中。这是我正在使用的代码:

import os, json
import pandas as pd
import numpy as np
import glob
pd.set_option('display.max_columns', None)

temp = pd.DataFrame()

path_to_json = '/Users/XXX/Desktop/Facebook Data/*'

json_pattern = os.path.join(path_to_json,'*.json')
file_list = glob.glob(json_pattern)

for file in file_list:
data = pd.read_json(file, lines=True)
temp.append(data, ignore_index = True)

当我查看file_list时,看起来所有文件都在加载,但无法弄清楚如何将每个文件放入数据帧中。大约有 50 个文件,每个文件中有几行。

最佳答案

将最后一行更改为:

temp = temp.append(data, ignore_index = True)

我们必须这样做的原因是因为追加没有发生在适当的位置。追加方法不会修改数据框。它只是返回一个新的数据帧以及追加操作的结果。

编辑:

自从写下这个答案以来,我了解到您永远不应该在循环内使用 DataFrame.append 因为它会导致二次复制(请参阅 this answer )。

您应该做的是首先创建一个数据帧列表,然后使用 pd.concat 在单个操作中将它们全部连接起来。像这样:

dfs = [] # an empty list to store the data frames
for file in file_list:
data = pd.read_json(file, lines=True) # read data frame from json file
dfs.append(data) # append the data frame to the list

temp = pd.concat(dfs, ignore_index=True) # concatenate all the data frames in the list.

这种替代方案应该要快得多。

关于python - 如何将多个json文件读取到pandas dataframe中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57067551/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com