是否可以在不完全将其完全加载到RAM的情况下打开大型csv

时间:2019-09-21 22:10:57

标签: python operating-system

假设我有一个很大的csv文件。

file = open("foo.csv")

似乎将整个csv放入RAM。如果我只需要csv的第一行,但又不想python加载打开整个文件,是否有办法做到?

1 个答案:

答案 0 :(得分:2)

如果只需要第一行,则可以像这样使用csv模块。

import csv

with open("foo.csv", "r") as my_csv:
    reader = csv.reader(my_csv)

    first_row = next(reader)

# do stuff with first_row

CSV模块使用生成器,因此不会将整个文件加载到RAM,而是根据请求加载更多的行,以防止整个文件加载到RAM。