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

如何去除字符串中的逗号且不引入空格以转换为int类型

解决方法

你的代码存在两个核心问题:

  1. strip(',')仅能移除字符串首尾的逗号,无法处理数值中间的逗号(比如1,234这类格式里的逗号)
  2. 用split(" ")按单个空格分割,会因连续空格产生空元素,导致取val[1]时可能拿到空字符串或带空格的无效内容

修正后的代码

parse = g.readlines()[8:]
for x in parse:
    # 全局移除所有逗号,再按任意空白符分割(自动处理多空格、制表符等)
    cleaned_parts = x.replace(',', '').split()
    # 避免格式异常导致索引越界
    if len(cleaned_parts) >= 2:
        # 直接转成int存入列表
        num = int(cleaned_parts[1])
        i15.append(num)

# 最终求和
total_sum = sum(i15)

关键改动说明

  • replace(',', ''):全局移除所有位置的逗号,彻底解决带逗号的数值格式化问题
  • split():不带参数的分割会自动识别任意数量的空白字符,同时忽略首尾空白,不会产生空元素
  • 增加长度判断:避免因数据行格式异常导致的索引报错
  • 提前转int:直接将处理后的数值转为整数存入列表,省去后续二次转换的步骤

简洁写法(列表推导式)

如果数据格式稳定,可一行完成数据提取:

with open('你的文件名.txt', 'r') as g:
    i15 = [int(line.replace(',', '').split()[1]) for line in g.readlines()[8:] if len(line.replace(',', '').split()) >= 2]
total_sum = sum(i15)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 19:15:48