gpt4 book ai didi

Python sas7bdat 模块 - 迭代器还是内存密集型?

转载 作者:太空宇宙 更新时间:2023-11-04 03:20:15 30 4
gpt4 key购买 nike

我想知道 Python 中的 sas7bdat 模块是创建迭代器类型的对象还是将整个文件作为列表加载到内存中?我对逐行对 750GB 大小的 .sas7bdat 文件感兴趣,我真的不希望 Python 尝试将整个文件加载到 RAM 中。

示例脚本:

from sas7bdat import SAS7BDAT
count = 0
with SAS7BDAT('big_sas_file.sas7bdat') as f:
for row in f:
count+=1

我也可以用

it = f.__iter__()

但我不确定它是否仍会经历内存密集型数据加载。任何关于 sas7bdat 如何工作的知识或处理此问题的其他方法将不胜感激!

最佳答案

可以在bitbucket上看到相关代码.文档字符串将迭代描述为“生成器”,查看代码,它似乎是在读取文件的一小部分,而不是一次读取整个文件。但是,我对文件格式了解不够,不知道是否有可能导致它一次读取大量数据的情况。

如果您真的想在 750G 的巨型文件上试用它之前了解它的性能,您应该通过创建一些大小不断增加的示例文件来测试它,并查看它的性能如何随着文件大小的变化而变化。

关于Python sas7bdat 模块 - 迭代器还是内存密集型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34908657/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com