我有一个逗号分隔的文件,一行看起来像:
“ABC234234”,23
我想将其加载到字典中,键是第一部分,即“ABC234234”
我也必须远程双引号。
执行此操作的 pythonic 方式是什么?
最佳答案
我建议(像往常一样)使用 with
语句打开 CSV 文件(这确保它将在您关闭时关闭完成!)——除此之外,@carl 的回答通常还不错:
import csv
with open('yourfile.csv', 'rb') as f:
thedict = dict(csv.reader(f))
然后根据需要自由使用thedict
。
请注意,值(当然还有键)将是字符串。如果您知道第二列总是有一个整数,并且想要将 int
作为值,您可以将赋值替换为
thedict = dict((k, int(v)) for k, v in csv.reader(f))
或者,如果您希望避免代码中的过度紧凑/密度,请将此最新语句分解为,例如:
ks_vs = ((k, int(v)) for k, v in csv.reader(f))
thedict = dict(ks_vs)
当然,如果您愿意,也可以进一步分解。
这适用于 Python 2.6 或更高版本。如果您坚持使用 2.5,要使其正常工作,请添加
from __future__ import with_statement
在模块的顶部——我的其余建议仍然适用;-)。
关于python - 我想加载到字典中的逗号分隔文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3518722/