【发布时间】:2020-02-27 15:02:16
【问题描述】:
我有一个需要打开的 SPSS 数据库,但它很大,如果像下面的代码那样天真地打开它,它会使 RAM 饱和并最终崩溃。
import pandas as pd
def main():
data = pd.read_spss('database.sav')
print(data)
if __name__=='__main__':
main()
读取 SAS 数据库的等效 pandas 函数允许使用 chunksize 和 iterator 关键字,无需一次性将文件全部读取到 RAM 中即可映射文件,但对于 SPSS,此选项似乎缺失。是否有另一个我可以用于此任务的 python 模块,它允许映射数据库而不将其全部读入 RAM?
【问题讨论】:
-
它有多“巨大”?有多少变量/案例/数据点?不久前我遇到了类似的问题并放弃了这条路:)。 csv 输入更可靠...
-
这是一个扁平的数据库,大约有 500,000 行,每行约 500 列。 CSV 导出将起作用,我只是好奇是否有更清洁的方式来使用本机文件。
标签: python-3.x pandas spss