Python读取XLSX指定范围单元格值报字符串拼接类型错误如何修复
报错修复指南
错误根因
触发TypeError: can only concatenate str (not "int") to str的原因很明确:
range(35,43)遍历生成的val是整数类型,Python不支持直接用+拼接字符串和整数,所以'C'+val这行代码执行失败。
修复方法
把整数类型的val转换为字符串后再拼接即可,两种常用实现方式如下:
方法1:用str()做类型转换后拼接
def validate_forms(): msg_haserror = "" for val in range(35, 43): if "NOK" in str(ws['C' + str(val)].value): msg_haserror = "true" print("-->", msg_haserror)
方法2:用f-string格式化生成单元格标识(更推荐,可读性更高)
def validate_forms(): msg_haserror = "" for val in range(35, 43): if "NOK" in str(ws[f'C{val}'].value): msg_haserror = "true" print("-->", msg_haserror)
可选优化
如果不需要遍历完全部单元格,匹配到第一个NOK后可以直接加break终止循环,减少不必要的遍历操作。
内容的提问来源于stack exchange,提问作者scll.raz
相关产品推荐
相关产品推荐

