Python中打印指定identifier报错TypeError: string indices must be integers
问题解决:TypeError: string indices must be integers
错误原因
你代码里的json.dumps(positions, ...)是把Python字典/列表对象转换成了JSON格式的字符串,而字符串只能用整数作为索引(比如取第n个字符),不能像字典那样用['data']这种键来访问,这就是报错的根源。
修正后的代码
nse_optionchain_scrapper返回的positions本身就是可直接访问的Python数据结构,不需要转成JSON字符串,直接访问即可:
from nsepython import * import pandas as pd import json positions = nse_optionchain_scrapper('HDFC') # 直接访问原对象,不需要json.dumps转换 print(positions['data'][0]['identifier'])
额外说明
如果确实需要先把对象转成JSON字符串再处理,那要先用json.loads()把字符串转回Python对象,再进行索引访问,但这里完全没必要多此一举,直接使用positions原对象效率更高。
内容的提问来源于stack exchange,提问作者Aditya Taide
相关产品推荐
相关产品推荐

