在cthon中将csv导入为列表

时间:2015-04-27 15:07:55

标签: python list csv

我正在尝试将csv文件导入为列表:

file = open('curr.csv', 'rt')
f = file.read()
f = f.split(',')

print(f)

csv文件只是'GBP,USD'所以我想要列表['GBP','USD']。 但是我得到的结果是:

['GBP', 'USD\n']

如何阻止\ n出现在最后一个值上?

1 个答案:

答案 0 :(得分:2)

您需要删除线条,但作为pythonic方式,您可以使用csv module处理csv文件:

>>> import csv
>>> with open('curr.csv', 'rb') as csvfile:
...     spamreader = csv.reader(csvfile, delimiter=',')
...     print list(spamreader)

请注意,如果您只想要列表中的第一行,可以使用csv next()对象的方法,则会返回reader个文件行的嵌套列表:

>>> import csv
>>> with open('curr.csv', 'rb') as csvfile:
...     spamreader = csv.reader(csvfile, delimiter=',')
...     print spamreader.next() 

如果你想要列表中的所有行,你可以使用嵌套列表理解:

>>> import csv
>>> with open('curr.csv', 'rb') as csvfile:
...     spamreader = csv.reader(csvfile, delimiter=',')
...     print [j for i in spamreader for j in i]