如何正确将嵌套格式JSON导入为规范的Pandas DataFrame?
解决Pandas导入JSON字段未拆分的问题
你的JSON结构特殊:数组中的每个元素是仅含键"0"的对象,而"0"对应的值是JSON格式字符串,不是原生的JSON对象,所以直接用read_json会把整段字符串塞进单个单元格。以下是两种可行的解决方法:
方法一:先读取再解析列内容
import pandas as pd import json # 读取原始JSON,得到含"0"列的DataFrame df = pd.read_json('/content/Top100.json', orient='records') # 解析"0"列的每个JSON字符串,展开为结构化列 df3 = df['0'].apply(json.loads).apply(pd.Series)
方法二:直接读取并解析整个数据集(更高效)
import json import pandas as pd # 读取文件并解析顶层数组 with open('/content/Top100.json', 'r') as f: raw_data = json.load(f) # 遍历每个元素,解析"0"对应的JSON字符串 parsed_data = [json.loads(item['0']) for item in raw_data] # 转换为目标DataFrame df3 = pd.DataFrame(parsed_data)
两种方法最终都会得到按danceability、energy、key等字段拆分的DataFrame,方法二更适合数据量较大的场景。
内容的提问来源于stack exchange,提问作者Wilmer Arcos
相关产品推荐
相关产品推荐

