Python中使用str.replace替换字符串为数字得到字符串类型结果问题
解决方法
你使用的replace是字符串实例的方法,所有输入输出都是字符串类型,自然得到的是"1"而不是数字1,只需要在替换完成后做一次类型转换即可。
单场景快速修复
直接用int()包裹替换后的结果:
row[1] = int(row[1].replace('Neuf', '1'))
如果替换后的值可能是小数,可以换成float()转换。
多映射批量处理方案
如果你有多个字符串需要转成对应数字,可以提前定义映射表统一处理,避免重复写replace逻辑:
# 可自行扩展所有需要替换的字符串-数字映射 num_map = { "Neuf": "1", # 示例:"Deux": "2", "Trois": "3" 等 } for str_val, num_str in num_map.items(): row[1] = row[1].replace(str_val, num_str) # 统一转整数 row[1] = int(row[1])
内容的提问来源于stack exchange,提问作者GuiEpi
相关产品推荐
相关产品推荐

