如何在python中使用生成器循环大型镶木地板文件?

时间:2018-06-08 07:32:24

标签: python pandas dataframe generator parquet

是否可以使用生成器打开镶木地板文件并逐行迭代?这是为了避免将整个镶木地板文件加载到内存中。

该文件的内容是pandas DataFrame。

2 个答案:

答案 0 :(得分:1)

您不能逐行迭代,因为它不是存储方式。您可以按如下方式遍历行组:

from fastparquet import ParquetFile
pf = ParquetFile('myfile.parq')
for df in pf.iter_row_groups():
    process sub-data-frame df

答案 1 :(得分:0)

您可以使用 tensorflow_io 进行迭代。

import tensorflow_io as tfio

dataset = tfio.IODataset.from_parquet('myfile.parquet')

for line in dataset.take(3):
    # print the first 3 lines
    print(line)