如何使用Python提取制表符分隔文本文件的第3列内容?
Python提取制表符分隔文本的第三列
问题描述
现有如下制表符分隔的文本内容:
John 32 Britain Marry Sunny Britney 21 India Angel Cloudy Jack 22 UK Becky Snowy Jill 43 United States of America Bill Cloudy Amy 31 South Africa Claudey Sunny
需要提取包含国家名称的第3列,预期输出:
Britain India UK United States of America South Africa
实现方法
方法1:基础文件读取与字符串分割
直接逐行读取文件,按制表符分割每行内容,取第三列(Python索引从0开始,对应索引2):
# 假设目标文件名为data.txt with open('data.txt', 'r', encoding='utf-8') as file: for line in file: # 去除行尾换行符,按制表符分割内容 columns = line.strip().split('\t') # 打印第三列内容 print(columns[2])
方法2:使用csv模块(更规范的分隔符处理)
csv模块专门用于处理分隔符文本,能更好应对复杂场景(比如列内容含特殊字符):
import csv with open('data.txt', 'r', encoding='utf-8') as file: # 指定分隔符为制表符 csv_reader = csv.reader(file, delimiter='\t') for row in csv_reader: # 提取第三列并打印 print(row[2])
注意事项
- 确认输入文件确实是制表符分隔,这样才能保证多单词的国家名称不会被错误拆分。
- 如果文件存在空行,可在循环中添加判断跳过:
if not line.strip(): continue
内容的提问来源于stack exchange,提问作者Turing101
相关产品推荐
相关产品推荐

