Я бы предложил (как всегда) открыть файл CSV с помощью оператора with
(что гарантирует , это будет закрыто , когда вы закончите!) - кроме что ответ @ Карла, как правило, в порядке:
import csv
with open('yourfile.csv', 'rb') as f:
thedict = dict(csv.reader(f))
и затем свободно используйте thedict
, как вам требуется.
Обратите внимание, что значения (как и, разумеется, ключи) будут строки . Если вы знаете, что во втором столбце всегда есть целое число и хотите иметь значения int
s, вы можете заменить присвоение на
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
вверху модуля - остальная часть моего совета все еще применяется; -).