[英]read data from file, store in a python dict and search for values in python
我有一个文本文件,其中包含以下信息:
A , 12
B , 34
A , 54
F , 60
我想读取文件,并将信息存储在python词典中,如下所示:{'A':['12','54',...],B:['34',....] ...} 等等。 但是我对如何逐行搜索每个A感到困惑。 这是我尝试过的:
repo = {}
infile = open('test10.log','r')
lines = infile.readlines()[2:-1]
for i in lines:
module = ''.join(i.split(',')[:-1])
time = ''.join(i.split(',')[1:]).replace('\n','')
if not module in repo:
repo[module] = time
谢谢你的帮助!。
没有像{A:{12,54,...}, B:{34,....}
这样的数据结构。 然而:
repo = {}
infile = open('test10.log','r')
lines = infile.readlines()[2:-1]
for i in lines:
module, time = [a.strip() for a in i.split(',')]
repo.setdefault(module, []).append(int(time))
将给你一个列表的字典:
{'A': [12, 54], 'B': [34], 'F': [60]}
这是你想要的吗?
您可以尝试使用collections模块中的defaultdict :
from collections import defaultdict
repo = defaultdict(list)
infile = open('test10.log','r')
lines = infile.readlines()[2:-1]
for item in lines:
module, time = [a.strip() for a in item.split(',')]
repo[module].append(time)
如果print(dict(repo.items()))
您应该得到:
{'A': ['12', '54'], 'B': ['34'], 'F': ['60']}
如果您print(list(repo.items()))
您应该得到:
[('A', ['12', '54']), ('B', ['34']), ('F', ['60'])]
看到
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.