我的文本文件中包含以下数据:
tag=bmw: One
tag=audi: Two
tag=bmw: Three and Four
tag=saab: Five
tag=audi: Six
tag=bmw,audi: Seven
我想实现以下目标:
bmw:
One
Three and Four
Seven
audi:
Two
Six
Seven
saab:
Five
我使用python脚本,可以轻松读取输入文件并解析文本。 然后我读了每一行后,便有了一个TAG及其DESCription。
我有一个问题:如何存储它,以便以后(在读取整个文本文件之后)可以使用它,并通过TAG有效地聚合它们。 我不知道会出现什么TAG,会有多少TAG。
答案 0 :(得分:1)
您可以将它们聚合为lists
项的defaultdict
:
from collections import defaultdict
d = defaultdict(list) # values will all be lists
with open('yourfile.txt') as fh:
for line in fh:
k, v = line.split('=')[1].split(':')
for key in k.split(','):
d[key.strip()].append(v.strip())
d
# defaultdict(<class 'list'>, {'bmw': ['One', 'Three and Four', 'Seven'], 'audi': ['Two', 'Six', 'Seven'], 'saab': ['Five']})
现在您可以对d.get('bmw')
等品牌进行查询