pandas如何读取大型. csv文件(10^7行)?

.csv数据集很大,怎么做到每次读取若干行,然后程序去处理,然后再接着读取若干行,程序再去处理... ?
关注者
58
被浏览
54,035

19 个回答

Pandas 支持流式读取。比如有这样一份 test.csv

num,square
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