这是我的数据:
2018-06-19 136768197 e230702d
2018-06-19 136768197 f14c4f07
2018-06-15 1157040118 a527b130
2018-06-15 1157040118 f05a746f
作为输出,我需要以下命令
{
'2018-06-19': {
'136768197': ['e230702d', 'f14c4f07']
},
'2018-06-15': {
'1157040118': ['a527b130', 'f05a746f']
}
}
我试图解决这个问题:
d = defaultdict(list)
c = dict()
with open("c:/Python/hitId.txt") as f:
for line in f:
key, s, h = line.split()
d[s].append(h)
c[key] = d
但输出包含重复数据(格式化为突出显示问题):
{'2018-06-15': {'1157040118': ['a527b130', 'f05a746f'],'136768197': ['e230702d', 'f14c4f07']}),
'2018-06-19': {'1157040118': ['a527b130', 'f05a746f'],'136768197': ['e230702d', 'f14c4f07']})}
我想你需要一个默认的dict,一个默认的dict,正如在Python: defaultdict of defaultdict?中所回答的那样;我讨论了这个问题是否应该是一个重复的问题(如果有人想说它是,那很好),但基本上我认为是这样的:
你应该得到你想要的(一点额外的工作需要转换成一个原始的dict)。如果你想最终把它打印出来
我应该这么做
相关问题 更多 >
编程相关推荐