Python 我如何将dict{key:value}放入其中';s在字典中指定的键,使其在计数值后为{key:{key:value}}
我有一个csv文件,试图在其中计数Python 我如何将dict{key:value}放入其中';s在字典中指定的键,使其在计数值后为{key:{key:value}},python,python-2.7,csv,dictionary,Python,Python 2.7,Csv,Dictionary,我有一个csv文件,试图在其中计数行[3]然后将其与行[0] row[0] row[3] 'A01' 'a' 'B02' 'a' 'A01' 'b' 'A01' 'a' 'B02' 'a' 'A01' 'a' 所以最终应该是 {'A01':{a:3, b:1, 'B02':{a,2}} 到目前为止,我有以下代码: d = {'job': {'general_t
行[3]
然后将其与行[0]
row[0] row[3]
'A01' 'a'
'B02' 'a'
'A01' 'b'
'A01' 'a'
'B02' 'a'
'A01' 'a'
所以最终应该是
{'A01':{a:3, b:1, 'B02':{a,2}}
到目前为止,我有以下代码:
d = {'job': {'general_types': 0}}
d['job'] ={}
d['general_types'] ={}
with open("sample.csv", "r") as data1:
outcome_reader = csv.reader(data1)
for rows in outcome_reader:
d['job'].setdefault(rows[0])
d['general_type'].setdefault(rows[3],0)
d['general_type'][rows[3]] += 1
然而,目前我收到一个
KeyError:'general_type'
每当您从一个不存在的字典请求密钥时,就会引发一个KeyError
看起来您将密钥声明为'general\u type'
,然后通过名称'general\u type'
请求密钥。请尝试以下方法:
d['general_types'].setdefault(rows[3],0)
d['general_types'][rows[3]] += 1
您在第二个代码示例中缺少了一个右大括号,这使得您很难理解您在寻找什么。但是您的密钥错误是因为您定义了一个密钥
general\u type
,并试图访问单数general\u type