如何用Pandas读取含末尾重复ID的TXT文件并清理数据
使用Pandas处理末尾含重复ID的TXT数据
原始数据格式
UID value1 value2 A01 99 10 A01 A02 29 12 A02 A03 96 14 A03
期望输出格式
UID value1 value2 A01 99 10 A02 29 12 A03 96 14
简洁解决方案
方法1:读取后删除重复列
先按空白分隔读取所有列,再移除最后一列重复的ID:
import pandas as pd # 读取文件,用任意空白作为分隔符,第一行作为表头 df = pd.read_csv('data.txt', sep='\s+', header=0) # 保留前3列,删除最后一列 df = df.iloc[:, :-1]
方法2:读取时直接指定列
读取阶段就只选取前3列,一步到位:
import pandas as pd # 读取时仅保留前3列,避免读取重复ID列 df = pd.read_csv('data.txt', sep='\s+', header=0, usecols=[0, 1, 2])
关键说明
sep='\s+':匹配任意数量的空白字符(空格、制表符等),确保列不会因为空白数量不均而偏移。header=0:明确指定第一行为表头,防止Pandas误将UID列当作索引导致列错位。
内容的提问来源于stack exchange,提问作者Botond Nagy
相关产品推荐
相关产品推荐

