Python 来自csv文件的字典
因此,我有一个csv文件,格式如下:Python 来自csv文件的字典,python,loops,csv,dictionary,Python,Loops,Csv,Dictionary,因此,我有一个csv文件,格式如下: a.year是所有年份 a.category是所有类别 等 可以有多于或少于四列 a.year,a.category,a.actor,a.title 2010,Actor-Leading Role,Colin Firth,The King's Speech 2010,Actor-Supporting Role,Christian Bale,The Fighter 2010,Actress-Leading Role,Natalie Portman,Blac
是所有年份a.year
是所有类别a.category
- 等
a.year,a.category,a.actor,a.title
2010,Actor-Leading Role,Colin Firth,The King's Speech
2010,Actor-Supporting Role,Christian Bale,The Fighter
2010,Actress-Leading Role,Natalie Portman,Black Swan
2010,Actress-Supporting Role,Melissa Leo,The Fighter
2009,Actor-Leading Role,Jeff Bridges,Crazy Heart
我该如何制作一个以键作为标题,并将该键下面的所有值作为映射到该键的列表的字典。比如:
{a.year:['2010', '2010', '2010', '2010', '2009'],
... and so on}
对于所有键和值。你知道怎么做吗
到目前为止,我已尝试使用for循环遍历各行,但我不知道下一步该怎么做。尝试此操作---打开文件,将列作为值映射到标题:
f = open("data.csv","r")
lines = list(map(lambda x: x.split(","),f.readlines())
f.close()
dictionary = {}
for i in range(len(lines[0])):
dictionary[lines[0][i]] = list(map(lambda x:lines[x][i], range(1,len(lines))))
你说:到目前为止,我已经尝试使用for循环…来循环这些行,所以请向我们展示你尝试的内容,并解释它是如何不起作用的。使用csv.dictreader到底做了什么?你可能想要解决的问题是,所有内容的类型都将是字符串。如果您知道哪一列应该是字符串或int,则可能需要适当地强制转换这些值。