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

Python提取JSON文件中多个ISIN值时遇TypeError的解决求助

解决Python提取JSON中ISIN值的TypeError问题

错误原因

遍历字典data时,for i in data循环拿到的是字典的键(字符串类型),而非键对应的子字典,因此尝试用i['isin']会触发TypeError——字符串仅支持整数索引,不能用字符串索引。

修正方案

方案1:遍历字典的values()

直接遍历字典的所有值(即每个子字典):

import json

with open('output.json') as f:
    data = json.load(f)

value_list = []
for sub_dict in data.values():
    value_list.append(sub_dict['isin'])
print(value_list)

方案2:通过键获取对应值(需保留键信息时用)

如果后续需要用到外层字典的键,可以保留键的遍历逻辑,再通过键取出对应子字典:

import json

with open('output.json') as f:
    data = json.load(f)

value_list = []
for key in data:
    value_list.append(data[key]['isin'])
print(value_list)

方案3:简洁的列表推导式

用列表推导式一行完成提取,代码更紧凑:

import json

with open('output.json') as f:
    data = json.load(f)

value_list = [sub_dict['isin'] for sub_dict in data.values()]
print(value_list)

额外注意事项

若存在部分子字典没有isin字段的情况,建议添加判断避免KeyError:

value_list = []
for sub_dict in data.values():
    if 'isin' in sub_dict:
        value_list.append(sub_dict['isin'])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 19:40:26