我有一个大的制表符分隔文本文件,例如,将其命名为john_file:
1约翰1 23 54 54
2约翰2 34 45 66
3约翰3 35 43 54
4约翰2 34 54 78
5约翰1 12 34 65
6约翰3 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']
等中