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

使用for循环生成含股票简称与代码的DataFrame报错如何解决

报错根因
  • 你初始化的变量a是Python列表类型,列表仅支持整数下标/切片作为索引,不支持直接用字符串作为键存储键值对,你尝试用a['Short_Name']的字典操作写法访问列表,自然触发类型错误。
可直接运行的修复代码
import yfinance as yf
import pandas as pd

res_list = []
tic_list = ['FFIV', 'FIS', 'FISV', 'FITB', 'FLS', 'FMC']

for tic in tic_list:
    stock = yf.Ticker(tic)
    # 新增异常捕获,避免个别股票无shortName字段导致程序中断
    try:
        short_name = stock.info['shortName']
    except KeyError:
        short_name = None
    # 每次循环构造单条字典,追加到结果列表
    res_list.append({
        'Short_Name': short_name,
        'tic': tic
    })

# 列表转DataFrame
result_df = pd.DataFrame(res_list)
print(result_df)
代码说明
  • 用存储字典的列表接收每一行数据,每个字典对应DataFrame的一行,键对应列名
  • 新增异常捕获逻辑,处理部分ticker无法返回shortName字段的边界情况,保证循环可以正常跑完所有标的

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 11:45:03