我想要加载到字典中的逗号分隔文件

Bla*_*man 2 python dictionary

我有一个逗号分隔文件,一行看起来像:

"ABC234234",23

我想将它加载到字典中,键是第一部分,即"ABC234234"

我也要远程双引号.

这样做的pythonic方法是什么?

Ale*_*lli 6

我建议(如总是)与打开CSV文件with语句(确保 -除此之外,@卡尔的回答通常是罚款当你完成营业!):

import csv

with open('yourfile.csv', 'rb') as f:
    thedict = dict(csv.reader(f))
Run Code Online (Sandbox Code Playgroud)

然后thedict根据需要自由使用.

请注意,值(当然,作为键)将是字符串.如果您知道第二列始终具有整数,并且希望将ints作为值,则可以将赋值替换为

    thedict = dict((k, int(v)) for k, v in csv.reader(f))
Run Code Online (Sandbox Code Playgroud)

或者,如果您希望避免代码中的过度紧凑/密度,请将此最新语句分解为,例如:

    ks_vs = ((k, int(v)) for k, v in csv.reader(f))
    thedict = dict(ks_vs)
Run Code Online (Sandbox Code Playgroud)

或者,如果你愿意,可以进一步细分.

这适用于Python 2.6或更高版本.如果你坚持2.5,为了使它工作,添加

from __future__ import with_statement
Run Code Online (Sandbox Code Playgroud)

在模块的顶部 - 我的其他建议仍然适用;-).