1

是否可以像这样读取 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),...]

之后如何在列表中搜索以获取第一列为 1 的所有元素?

例如: get all with row1 == 1 将返回

1,22,5
1,33,9
4

2 回答 2

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]]
于 2013-05-20T11:17:13.303 回答
1

有可能的。

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

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

于 2013-05-20T11:16:20.547 回答