假设我有一个很大的csv文件。
file = open("foo.csv")
似乎将整个csv放入RAM。如果我只需要csv的第一行,但又不想python加载打开整个文件,是否有办法做到?
答案 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。