在python 3中从csv文件创建一个字典

use*_*024 4 python csv dictionary

我正在使用Python 3.2与Mac OS Maverick,我正在尝试使用以下格式获取.cvs文件:

'Lisa plowed ', '1A', 'field', 'field', 'field', 'field', 'field'
'John greased ', '1A', 'axle', 'wheel', 'wheels', 'wheel', 'engine'
'Tracy freed ', '1A', 'animals', 'fish', 'slaves', 'slaves', 'slaves'
'Paul alleged ', '1A', 'truth', 'crime', 'facts', 'infidelity', 'incident'
Run Code Online (Sandbox Code Playgroud)

进入字典,每行中的第一项是键,行的其余部分是映射到该键的值.我尝试了不同的东西,我得到的最接近的是这段代码,但不幸的是,我还没有:

   import csv

   data =open('test.csv', encoding = 'utf=8')
   reader = csv.reader(data, delimiter=",")
   for col in reader:
       print(col)
   result = {}
   for row in reader:
       key = row[0]

       result[key] = row[1:]
   print(result)
Run Code Online (Sandbox Code Playgroud)

我得到的结果只是{},好像字典是空的.我真的很感激任何有关这方面的帮助,无论是提供新的替代方案还是将我推荐给我能找到答案的地方.非常感谢!

daw*_*awg 5

尝试:

import csv

data={}
with open('/tmp/text.txt') as fin:
    reader=csv.reader(fin, skipinitialspace=True, quotechar="'")
    for row in reader:
        data[row[0]]=row[1:]

print(data)       
# {'Lisa plowed ': ['1A', 'field', 'field', 'field', 'field', 'field'], 'Tracy freed ': ['1A', 'animals', 'fish', 'slaves', 'slaves', 'slaves'], 'Paul alleged ': ['1A', 'truth', 'crime', 'facts', 'infidelity', 'incident'], 'John greased ': ['1A', 'axle', 'wheel', 'wheels', 'wheel', 'engine']}
Run Code Online (Sandbox Code Playgroud)