使用一个命令将csv读入列表,然后读入

时间:2013-05-20 11:14:31

标签: python

是否可以读取这样的csv:

1,22,5
1,33,9
3,44,5
4,32,5
5,53,5
6,64,5
7,12,7

使用一个命令到格式为[(1,22,5),...]的列表?

如何在此之后在列表中搜索以获取例如所有elemente第一列是1?

例如:get row = = 1将返回

1,22,5
1,33,9

2 个答案:

答案 0 :(得分:2)

import csv

with open('data.csv', 'rb') as f:
    rows = [[int(el) for el in row] for row in csv.reader(f)]


>>> rows
[[1, 22, 5], [1, 33, 9], [3, 44, 5], [4, 32, 5], [5, 53, 5], [6, 64, 5], [7, 12, 7]]
>>> [row for row in rows if row[0] == 1]
[[1, 22, 5], [1, 33, 9]]

答案 1 :(得分:1)

有可能。

import csv
csv_rows = list(csv.reader(sys.stdin))

http://docs.python.org/2/library/csv.html