我使用this answer了解如何仅使用pandas
读取一大块CSV文件。
使用pd.read_csv('./input/test.csv' , iterator=True, chunksize=1000)
的建议效果很好,但返回<class 'pandas.io.parsers.TextFileReader'>
,因此我将其转换为带有pd.concat(pd.read_csv('./input/test.csv' , iterator=True, chunksize=25))
的数据框,但这需要花费与阅读文件相同的时间首先!
有关如何快速读取文件块的任何建议吗?
答案 0 :(得分:3)
pd.read_csv('./input/test.csv', iterator=True, chunksize=1000)
返回一个迭代器。您可以使用next
功能抓取下一个
reader = pd.read_csv('./input/test.csv', iterator=True, chunksize=1000)
next(reader)
这通常用于for循环中,一次处理一个块。
for df in pd.read_csv('./input/test.csv', iterator=True, chunksize=1000):
pass