我需要将SAS文件转换为平面文件。这些文件可能相当大,可以高达60 GB的大小。我用R(下面)编写了一个脚本,但是它读取整个数据,然后导出到CSV文件。有没有办法在没有任何内存限制的情况下转换这么大的文件。我愿意使用R或Python。我在一台有16 GB内存的机器上工作。
args = commandArgs(trailingOnly=TRUE)
library(sas7bdat)
MyData <- read.sas7bdat(file = args[1])
write.csv(MyData, file = args[2], row.names = FALSE)发布于 2019-07-09 06:53:15
在我看来,您可以使用pandas.read_sas和块状arg提供解决方案:
熊猫读sas文档
例如,迭代10k观测:
import pandas as pd
chunk_size = 10**4
for chunk in pd.read_sas(filename, chunksize=chunksize):
process(chunk)其中process()是您希望提供的指令(附加等)。
https://stackoverflow.com/questions/51156674
复制相似问题