簡體   English   中英

使用R / Python將SAS文件(sas7bdat)轉換為平面文件而無內存限制

[英]Convert SAS file (sas7bdat) to a flat file using R/Python without memory constraints

我需要將SAS文件轉換為平面文件。 這些文件可能很大,最大可以達到60 GB。 我在R(如下)中編寫了一個腳本,但它讀取了所有數據,然后導出到CSV文件。 有沒有辦法可以轉換這么大的文件而沒有任何內存限制。 我願意使用R或Python。 我在具有16 GB RAM的計算機上工作。

args = commandArgs(trailingOnly=TRUE)

library(sas7bdat)

MyData <-  read.sas7bdat(file = args[1])
write.csv(MyData, file = args[2], row.names = FALSE)

我認為,您可以使用pandas.read_sas和chunksize arg獲取解決方案:

熊貓閱讀SAS文檔

例如,迭代進行1萬次觀察:

import pandas as pd

chunk_size =  10**4
for chunk in pd.read_sas(filename, chunksize=chunksize):
    process(chunk)

其中process()是要提供(附加等)的指令。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM