csv数据集很大,怎么做到每次读取若干行,然后程序去处理,然后再接着读取若干行,程序再去处理?
可以用流式读取。Pandas 支持流式读取。
举个例子,有这样一份test.csv
num,square
1,1
2,4
3,9
4,16
5,25
6,36
7,49
8,64
9,81
10,100
11,121
12,144
13,169
14,196
15,225
...
用流式的方式读取,如下
csv_iter = pd.read_csv("test.csv", iterator=True, chunksize=10)
for df in csv_iter:
print(df)
iterator=True 表示流式读取,chunksize = 10 表示每次读取10行。
输出是这样的
num square
0 1 1
1 2 4
2 3 9
3 4 16
4 5 25
5 6 36
6 7 49
7 8 64
8 9 81
9 10 100
num square
10 11 121
11 12 144
12 13 169
13 14 196
14 15 225
15 16 256
16 17 289
17 18 324
18 19 361
19 20 400
...
每个都是一个 10行的DataFrame。