将csv导入为整数列表

时间:2015-04-25 14:10:00

标签: python list csv

我有以下CSV文件

12,29,63,44
54,43,65,34

我试图将其作为列表列表导入,以使每个索引都是整数。这是我到目前为止所拥有的。

import csv
filename = 'file.csv'
with open(filename, 'rU') as p:
        #reads csv into a list of lists
        my_list = list(list(rec) for rec in csv.reader(p, delimiter=',')) 

print my_list
>>> [['12','29','63','44'],['54','43','65','34']]

正如您所看到的,这会生成一个字符串列表,而不是整数。如何将CSV文件导入为整数列表?像这样

 >>> [[12,29,63,44],[54,43,65,34]]

1 个答案:

答案 0 :(得分:8)

map到int:

 my_list = [list(map(int,rec)) for rec in csv.reader(p, delimiter=',')]

 [[12, 29, 63, 44], [54, 43, 65, 34]]

相当于:

my_list = [[int(x) for x in rec] for rec in csv.reader(p, delimiter=',')]