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 つのコマンドを使用して

その後、リストを検索して、たとえば最初の列が 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 に答える