使用pandas json_normalize展平嵌套JSON至DataFrame遇类型错误求助
解决json_normalize的TypeError问题
错误原因
你代码里record_path=rawData['results']['submissions']写法错误,rawData['results']是列表类型,列表只能用整数/切片索引,不能直接用字符串'submissions'访问。
修正后的代码
import pandas as pd submission_data = pd.json_normalize( data=rawData['results'], record_path='submissions', meta=['application_number', 'sponsor_name'], errors='ignore' ) submission_data.head(3)
进一步展平product字段
如果需要同时展平submissions下的product嵌套数据,可以把record_path设为嵌套路径,同时保留需要的元数据:
submission_data = pd.json_normalize( data=rawData['results'], record_path=['submissions', 'product'], meta=[ 'application_number', 'sponsor_name', ['submissions', 'submission_id'] # 保留submissions中的其他字段,比如提交ID ], errors='ignore' )
关键注意事项
record_path参数接收的是字符串或字符串列表,用来指定要展开的嵌套列表字段,而不是直接从列表中取值- 确保
rawData['results']的每个元素都包含submissions字段(errors='ignore'会自动忽略缺失该字段的元素)
内容的提问来源于stack exchange,提问作者Nano
相关产品推荐
相关产品推荐

