You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将指定嵌套JSON文件转换为Pandas DataFrame?

将JSON转换为Pandas DataFrame的方法

针对你提供的JSON结构,有两种常用的转换方式,可根据需求选择:

方式一:按时间周期拆分(推荐,适合分析不同时间点的FGI数据)

这种方式会把fgi下的每个时间节点(now、previousClose等)作为单独一行,同时保留全局的更新时间信息。

步骤:

  1. 导入所需库
import pandas as pd
import json
  1. 读取JSON文件
# 替换为你的JSON文件实际路径
with open('fgi_data.json', 'r') as file:
    json_data = json.load(file)
  1. 转换fgi部分为DataFrame
# 以字典键作为行索引生成DataFrame
fgi_df = pd.DataFrame.from_dict(json_data['fgi'], orient='index')
# 重置索引并将原索引命名为时间周期列
fgi_df = fgi_df.reset_index().rename(columns={'index': 'time_period'})
  1. 添加全局更新时间信息
# 将lastUpdated的两个字段批量添加到DataFrame的每一行
fgi_df['last_updated_epoch'] = json_data['lastUpdated']['epochUnixSeconds']
fgi_df['last_updated_human'] = json_data['lastUpdated']['humanDate']

最终DataFrame结构示例:

time_periodvaluevalueTextlast_updated_epochlast_updated_human
now78Extreme Greed16865809182023-06-12T14:41:58.000Z
previousClose77Extreme Greed16865809182023-06-12T14:41:58.000Z
oneWeekAgo73Greed16865809182023-06-12T14:41:58.000Z
oneMonthAgo57Greed16865809182023-06-12T14:41:58.000Z
oneYearAgo40Fear16865809182023-06-12T14:41:58.000Z

方式二:完全展平为单行

如果不需要拆分时间周期,只想把所有嵌套数据展平成一行,可使用pd.json_normalize():

import pandas as pd
import json

with open('fgi_data.json', 'r') as file:
    json_data = json.load(file)

# 自动展平所有嵌套JSON结构
flat_df = pd.json_normalize(json_data)

生成的DataFrame列名将以层级形式命名,例如lastUpdated.epochUnixSeconds、fgi.now.value、fgi.previousClose.valueText等,所有数据集中在同一行。

内容的提问来源于stack exchange,提问作者jacques

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 12:42:51