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

如何从文本文件中提取指定列数据并转换为列表?

提取文本文件第三列数字并转为列表

问题背景

我有一个包含数字表格的文本文件,内容如下:

5,10,6
6,20,1
7,30,4
8,40,3
9,23,1
4,13,6

我想要提取其中第三列的数字并转为列表,目前尝试了以下代码:

myNumbers.append(line.split(',')[2])

完整解决方案

你写的代码片段已经找对了方向,只需要补充完整的文件读取逻辑,同时注意处理每行末尾的换行符、将提取到的字符串转为数值类型即可。

方法一:基础文件读取写法

myNumbers = []
# 使用with语句会自动关闭文件,避免资源泄漏
with open('你的文件名.txt', 'r') as f:
    for line in f:
        # 先移除每行末尾的换行符,再按逗号分割内容
        parts = line.strip().split(',')
        # 提取第三列(Python是*0开始计数*,所以索引为2),转成整数后加入列表
        myNumbers.append(int(parts[2]))

print(myNumbers)  # 输出结果:[6, 1, 4, 3, 1, 6]

方法二:列表推导式(更简洁)

如果想要更紧凑的代码,可以用列表推导式一步完成:

with open('你的文件名.txt', 'r') as f:
    myNumbers = [int(line.strip().split(',')[2]) for line in f]

print(myNumbers)

额外注意事项

  • 确保文件路径正确,如果文件不在当前脚本的目录下,需要填写完整路径,比如'D:/data/你的文件名.txt'
  • 如果文件中存在空行,建议添加判断逻辑跳过空行,避免出现索引错误:
    with open('你的文件名.txt', 'r') as f:
        myNumbers = []
        for line in f:
            stripped_line = line.strip()
            if stripped_line:  # 仅处理非空行
                parts = stripped_line.split(',')
                myNumbers.append(int(parts[2]))
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 03:55:30