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

使用yfinance与notion-py向Notion表格写入股息数据报类型错误如何解决

报错原因
  • 你在Notion后台将shmoney字段的属性类型设置为数字类型(整数/小数),但代码中向该字段传入的是stock_list——一个包含7个股票代码的字符串列表,类型完全不符合要求,因此触发类型错误。
  • 同时存在逻辑错误:遍历单只股票的循环内,你应该传入当前股票对应的数值(比如该周期内的总股息、单期股息额等),而非整个股票列表。
修复方案

首先确认shmoney字段的存储目的,以下是常见场景的修改示例:

场景1:shmoney存储该股票在[2019-10-1, 2020-10-30]周期内的总股息

修改循环内的赋值代码即可:

for i in stock_list:
    series = yf.Ticker(i).dividends.loc[start:end]
    data = pd.concat([data, series], axis=1)
    row = cv.collection.add_row()
    # 计算周期内总股息,转float类型后赋值
    row.shmoney = float(series.sum())

场景2:shmoney实际要存储股票代码

先进入Notion表格的属性设置,将shmoney的字段类型修改为「文本」,再修改赋值代码:

for i in stock_list:
    series = yf.Ticker(i).dividends.loc[start:end]
    data = pd.concat([data, series], axis=1)
    row = cv.collection.add_row()
    # 赋值当前遍历的单只股票代码,而非整个列表
    row.shmoney = i
额外注意
  • 代码开头缺少import yfinance as yf导入语句,运行前请先补上,否则会触发yf未定义的报错。
  • 你当前的代码会分两次循环添加行:第一次遍历添加7行存股息相关数据,第二次遍历又添加7行存涨跌幅数据,会出现7行空涨跌幅、7行空股息的重复数据。如果需要同一股票的所有数据存在同一行,建议合并两个循环的逻辑,一次性完成所有字段的赋值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 00:12:03