python字典中,有个文本, 两列值 1对多关系,请问怎么把key和value都放在字典里呢?

例:1860,1010003301861,1010003351861,101000337数据量有2万行,请问怎么操作?... 例:1860,101000330
1861,101000335
1861,101000337

数据量有2万行,请问怎么操作?
展开
 我来答
sylecn
2013-02-04 · TA获得超过2991个赞
知道大有可为答主
回答量:1169
采纳率:57%
帮助的人:708万
展开全部
>> 请问怎么把key和value都放在字典里呢
这是什么意思?你没有说什么是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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
玩转数据处理
2017-10-31 · 数据处理,Python,dotnet
玩转数据处理
采纳数:1613 获赞数:3794

向TA提问 私信TA
展开全部
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
追问
我就是这样操作的,请告诉我为什么不能更新
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式