python字典中,有个文本, 两列值 1对多关系,请问怎么把key和value都放在字典里呢?
例:1860,1010003301861,1010003351861,101000337数据量有2万行,请问怎么操作?...
例:1860,101000330
1861,101000335
1861,101000337
数据量有2万行,请问怎么操作? 展开
1861,101000335
1861,101000337
数据量有2万行,请问怎么操作? 展开
3个回答
展开全部
>> 请问怎么把key和value都放在字典里呢
这是什么意思?你没有说什么是key什么是value。到底想获得怎样的dict结构?
1对多如果用字典,典型值应该是这样:
{
1860: [101000330],
1861: [101000335, 101000337]
}
用defaultdict很容易实现。
这是什么意思?你没有说什么是key什么是value。到底想获得怎样的dict结构?
1对多如果用字典,典型值应该是这样:
{
1860: [101000330],
1861: [101000335, 101000337]
}
用defaultdict很容易实现。
追问
具体点,怎么操作。。。
追答
from collections import defaultdict
d = defaultdict(lambda: [])
with open('data.txt', 'rb') as f:
for line in f:
key, value = line[:-1].split(",")
d[key].append(value)
for k,v in d.iteritems():
print k, v
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
file = open('test')
d = {}
for line in file.readlines():
line = line.replace('\n','')
k_v = line.split(',')
if k_v[0] in d.keys():
d[k_v[0]].append(k_v[1])
else:
d[k_v[0]] = [k_v[1]]
print d
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-02-04
展开全部
d = {}
for line in text.split():
key, value = line.split(",")
d[key] = value
for line in text.split():
key, value = line.split(",")
d[key] = value
追问
我就是这样操作的,请告诉我为什么不能更新
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询