Python如何打印嵌套字典中Time Series (Daily)的日期?解决键错误
解决嵌套字典访问日期时的键错误问题
嘿,我来帮你搞定这个键错误的问题~
首先得说清楚你为啥踩坑:你用range(0,2)生成的数字(0、1)去当键访问"Time Series (Daily)"里的内容,但这个字典里的键是日期字符串(比如"2018-04-13"),根本不是数字索引,自然会报KeyError啦!
接下来给你几种可行的解决办法:
方法1:直接遍历所有日期
如果你想把所有日期对应的内容都打印出来,直接遍历字典的键就行:
for date in tickerData['Time Series (Daily)']: print(date) print(tickerData['Time Series (Daily)'][date])
方法2:取前N个日期(比如你想要的前2个)
如果只需要前2个日期的内容,先把日期键转成列表,再通过索引访问:
# 把日期键转成列表 date_list = list(tickerData['Time Series (Daily)'].keys()) # 取前2个日期 for i in range(0, 2): date = date_list[i] print(date) print(tickerData['Time Series (Daily)'][date])
额外提示
注意:字典在Python 3.7及以后是按插入顺序保存的,但如果你的数据是按日期倒序排列的(比如最新的日期在前),上面的代码取的就是最新的两个日期。如果需要按日期正序排列,可以先对日期列表排序:
date_list = sorted(tickerData['Time Series (Daily)'].keys()) # 再遍历前2个或者全部 for date in date_list[:2]: print(date) print(tickerData['Time Series (Daily)'][date])
这样就能顺利访问到你想要的日期和对应数据啦~
内容的提问来源于stack exchange,提问作者enter_display_name_here
相关产品推荐
相关产品推荐

