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

如何用Python读取制表符分隔文本文件的指定列

如何用Python读取制表符分隔文件中的指定浮点数列

嘿,我来帮你搞定这个需求!要读取制表符分隔(TSV)文件里的指定列,而且都是浮点数值,这里有两种实用的方法,适合不同场景:

方法一:使用Python内置的csv模块(无需额外安装库)

这个方法适合轻量级需求,不用安装第三方包就能搞定。核心思路是用csv.reader指定制表符作为分隔符,然后遍历每一行提取目标列,再转换成浮点数。

注意:Python里的索引是从0开始的,所以你说的第1列对应索引0,第2列对应1,第3列对应2。

示例代码

假设你的文件名为data.tsv,内容是每行3个制表符分隔的浮点数:

1.0	11.0	23.0
2.0	22.0	45.0
3.0	33.0	456.0
4.0	44.0	3456.0
5.0	55.0	33212.0

读取第1列(索引0)的代码:

import csv

# 指定要读取的列索引(第1列→0,第2列→1,第3列→2)
target_column_index = 0
column_values = []

with open('data.tsv', 'r') as file:
    # 创建csv读取器,分隔符设为制表符'\t'
    reader = csv.reader(file, delimiter='\t')
    for row in reader:
        # 跳过空行(可选,根据你的文件情况调整)
        if not row:
            continue
        # 将对应列的字符串转为浮点数,加入列表
        column_values.append(float(row[target_column_index]))

print(f"第{target_column_index+1}列的数值:{column_values}")

如果要读取第2列,只需要把target_column_index改成1就行,第3列就改成2。

方法二:使用pandas库(适合处理大型/复杂数据)

如果你的文件比较大,或者需要后续做数据分析,pandas会更高效便捷,处理数值类型也更省心。

首先需要安装pandas:

pip install pandas

示例代码

同样针对data.tsv文件,读取指定列:

import pandas as pd

# 读取TSV文件,制表符分隔
df = pd.read_csv('data.tsv', sep='\t', header=None)  # header=None表示文件没有表头

# 读取第1列(索引0),转成列表
column_1 = df.iloc[:, 0].tolist()
# 读取第2列(索引1)
column_2 = df.iloc[:, 1].tolist()
# 读取第3列(索引2)
column_3 = df.iloc[:, 2].tolist()

print("第1列数值:", column_1)
print("第2列数值:", column_2)
print("第3列数值:", column_3)

如果你的文件有表头,只需要去掉header=None,然后直接用列名取数就行,比如df['列名']。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:46:50