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

.csv数据集很大,怎么做到每次读取若干行,然后程序去处理,然后再接着读取若干行,程序再去处理... ?
关注者
68
被浏览
76,468
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏

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。

本回答已同步个人博客:

编辑于 2022-11-26 20:21・IP 属地上海