Skip to main content
 首页 » 编程设计

python之在python中,如何根据特定值将文件解析为列表

2025年05月04日18luoye11

我有一个很大的制表符分隔的文本文件,例如,将其命名为 john_file:

1 john1 23 54 54
2 john2 34 45 66
3 john3 35 43 54
4 john2 34 54 78

5 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'] 等中