我有一个非常大的csv文件大约10GB。我什么时候尝试使用
读入iPython笔记本data = pd.read_csv("data.csv")
我的笔记本电脑卡住了。是否可以读取10,000行或500 MB的csv文件。
答案 0 :(得分:6)
有可能。您可以通过将iterator=True
与期望的chunksize
一起传递到read_csv
来创建一个迭代器,一次产生一定大小的csv块作为DataFrame。
df_iter = pd.read_csv('data.csv', chunksize=10000, iterator=True)
for iter_num, chunk in enumerate(df_iter, 1):
print(f'Processing iteration {iter_num}')
# do things with chunk
或者更简单
for chunk in pd.read_csv('data.csv', chunksize=10000):
# do things with chunk
或者,如果您只想阅读csv的特定部分,则可以使用skiprows
和nrows
选项从特定行开始,然后阅读n
行,正如命名所暗示的那样。
答案 1 :(得分:-1)
可能是一个记忆问题。在read_csv上,您可以设置chunksize(您可以在其中指定行数)。
或者,如果您不需要所有列,则可以更改read_csv上的usecols以仅导入所需的列。