首页 > 解决方案 > 如何将 JSON 文件导入 Pandas Dataframe

问题描述

我一直在尝试将这些数据加载到 Pandas 中的几种不同方法。如果有人对这些例外有任何建议,将不胜感激!当我尝试不同的方法时,tweet_json.txt 和 tweet_json.json 之间的一些示例中的文件名发生了变化。

with open('tweet_json.json', 'r') as f:
    data = json.load(f)
df_3 = pd.DataFrame(data)

结果是 :JSONDecodeError: Extra data: line 2 column 1 (char 3974)

df_3 = pd.read_json('tweet_json.json', lines = True)

结果是 :ValueError: Unexpected character found when decoding object value

with open('tweet_json.txt') as file:
    status = []
    for line in file:
        data = json.loads(line)
df_3 = pd.Dataframe(data)

结果是:JSONDecodeError: Expecting ',' delimiter: line 1 column 1626 (char 1625)

我唯一一次远程成功是使用 json.dumps() 但这只是将它加载到一个没有解析的单列数据框中,并且由于 json 看起来像一个多级字典,我不知道如何去分离它:

data = []
with open('tweet_json.json') as f:    
    for line in f:         
         data.append(json.dumps(line))
df_3 = pd.DataFrame(data)  

标签: pythonjsonpandasdataframe

解决方案


您可以使用json_normalizeread_json将 json 文件读入数据帧。

如果你有嵌套的 json 结构,你也可以使用from_records函数


推荐阅读