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

Python实现Excel列数据验证时TypeError字符串无法拼接int问题问询

问题修复方案

报错原因

TypeError: can only concatenate str (not "int") to str 报错的根本原因为:Python 不支持字符串类型和整数类型直接执行拼接操作,你代码中的循环变量 i 是 int 类型,直接和字符串 'B' 执行 + 运算触发了类型校验错误。

修复方法

有两种常用的修复方案:

  • 方案1:使用str()方法将整数i转换为字符串后再拼接
for i in range(1, len(risk_1)):
    worksheet.data_validation('B' + str(i), {'validate': 'list',
                                        'source': ['option1', 'option2', 'option3']})
  • 方案2:使用f-string格式化生成单元格坐标(Python3.6及以上版本支持,代码可读性更高)
for i in range(1, len(risk_1)):
    worksheet.data_validation(f'B{i}', {'validate': 'list',
                                        'source': ['option1', 'option2', 'option3']})

额外注意事项

Python内置的range函数是左闭右开规则,原代码range(1, len(risk_1))只会遍历到第len(risk_1)-1行,如果你需要覆盖到第len(risk_1)行的B列单元格,需要将range的结束参数调整为len(risk_1)+1。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 19:18:03