如何将抓取的文本格式JSON数据集存到本地并读取为Pandas DataFrame
保存JSON格式数据到本地
你可以直接使用Python内置的json库完成存储,有两种常用存储方案:
- 直接存储原始响应文本,性能更高:
import json with open("imdb_ratings.json", "w", encoding="utf-8") as file: file.write(response.text)
- 先解析为Python字典再格式化存储,文件可读性更强,方便人工校验:
import json # 解析接口返回的JSON为Python字典 json_data = response.json() with open("imdb_ratings_formatted.json", "w", encoding="utf-8") as file: # ensure_ascii=False避免特殊字符乱码,indent=4添加缩进格式化内容 json.dump(json_data, file, ensure_ascii=False, indent=4)
读取本地JSON文件为Pandas DataFrame
根据你的数据分析需求,有两种常见读取方式:
- 仅读取JSON根层级字段,生成单行DataFrame存储影视基础评分信息:
import pandas as pd df = pd.read_json("imdb_ratings.json", orient="index").T
- 展开嵌套的人群评分数据,生成多行DataFrame存储不同群体的评分明细:
import json import pandas as pd # 先读取JSON文件解析为Python字典 with open("imdb_ratings.json", "r", encoding="utf-8") as file: json_data = json.load(file) # 展开ratingsHistograms字段下的所有人群评分数据 demographic_rating_df = pd.json_normalize(json_data["ratingsHistograms"].values())
如果需要展开其他嵌套字段(如otherRanks),同理调整json_normalize的取值字段即可。
未安装对应依赖可执行命令安装:
pip install pandas requests
内容的提问来源于stack exchange,提问作者Gospel Orok
相关产品推荐
相关产品推荐

