我有一个很大的制表符分隔的文本文件,例如,将其命名为 john_file:
1 john1 23 54 54
2 john2 34 45 66
3 john3 35 43 54
4 john2 34 54 785 john1 12 34 65
6 john3 34 55 66
根据名称(john1、2 或 3)将此文件解析为 3 个列表的快速方法是什么?
fh=open('john_file.txt','r').readlines()
john1_list=[]
for i in fh:
if i.split('\t')[1] == "john1":
john1_list.append(i)
提前致谢
请您参考如下方法:
from collections import defaultdict
d = defaultdict(list)
with open('john_file.txt') as f:
for line in f:
fields = line.split('\t')
d[fields[1]].append(line)
然后各个列表在 d['john1']、d['john2'] 等中
