2015-04-25 2 views
1

У меня есть следующий файл 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

Использовать понимания или 'map'. Похоже, вы уже знаете о выражениях и выражениях генератора. –

ответ

7

map в целое:

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=',')] 
Смежные вопросы