我有一个逗号分隔文件,一行看起来像:
"ABC234234",23
我想将它加载到字典中,键是第一部分,即"ABC234234"
我也要远程双引号.
这样做的pythonic方法是什么?
我建议(如总是)与打开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)
在模块的顶部 - 我的其他建议仍然适用;-).
| 归档时间: |
|
| 查看次数: |
205 次 |
| 最近记录: |