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

如何将TXT文件两列数据分别追加存入指定列表变量

原代码错误点

  • 循环迭代变量定义为line,但代码内调用了未定义的row变量,变量名不匹配
  • 没有跳过第一行表头,会把列名字符串也存入目标变量
  • 读取的每行是原始字符串,没有按空格分割成两列,也没有将字符串转为数字类型
  • 没有过滤行尾换行符、空行的逻辑,遇到异常格式会直接报错

修正后代码

# f为TXT文件路径
a = []
b = []

with open(f, 'r', encoding='utf-8') as file_in:
    # 跳过第一行表头
    next(file_in)
    for line in file_in:
        # 去除首尾空白、按任意空白字符分割行内容
        parts = line.strip().split()
        # 过滤空行,确保每行至少有2列数据再处理
        if len(parts) >= 2:
            # 转为整数后存入对应列表
            a.append(int(parts[0]))
            b.append(int(parts[1]))

print(a) # 输出 [30, 25]
print(b) # 输出 [50, 75]

可选简洁写法

如果确定文件格式无异常,也可以用zip一次性生成两个列表:

with open(f, 'r', encoding='utf-8') as file_in:
    next(file_in)
    a, b = zip(*[map(int, line.strip().split()) for line in file_in if line.strip()])
    # 如需列表格式而非元组,再做一次转换
    a = list(a)
    b = list(b)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 18:27:03