我正在使用Mac OS Maverick操作系统,使用Python 3.2版本。我想获取一个以以下格式为准的.csv文件:
'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'
将每一行转化为字典,其中第一项为键(key),该行其余部分作为映射到该键的值(value)。 我尝试了不同的方法,最接近目标的是这段代码,但很遗憾,我还没有达成目标:
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)
我得到的结果就像字典为空一样只有{}。 无论是提供新的替代方案还是指引我找答案,都非常感激。 非常感谢!
"'1A'"
之类的内容,否则你没有正确解析它。如果你的CSV使用了非标准的引号字符,有(可能是可选的)多余的初始空格等等,你必须指定适当的方言参数。但你只指定了已经使用默认值的那个,即delimiter
。尝试使用quotechar="'", skipinitialspace=True
代替。 - abarnert