2014-02-10 37 views
7

我有多个大型(> 10GB)SAS数据集,我想转换为用于熊猫,最好使用HDF5。有许多不同的数据类型(日期,数字,文本),一些数字字段对于缺失值也有不同的错误代码(即值可以是.E,.C等)。我希望保留列名并标记元数据。有没有人找到一个有效的方法来做到这一点?将大型SAS数据集转换为hdf5

我试着使用MySQL作为两者之间的桥梁,但转移时,我得到了一些超出范围错误,再加上它是慢得令人难以置信。我也尝试以Stata .dta格式从SAS导出,但SAS(9.3)导出的旧Stata格式与pandas中的read_stat()不兼容。我也尝试了sas7bdat软件包,但是从描述中没有经过广泛测试,所以我想以另一种方式加载数据集并比较结果以确保一切正常。

额外的细节:我正在寻找转换的数据集是那些来自CRSP,标普数据库,IBES和TFN从WRDS。

回答

1

我在过去没有太多运气。我们(我工作的地方)只是使用Tab分隔的文件在SAS和Python之间进行传输 - 而且我们做了很多。

这就是说,如果你是在Windows上,你可以尝试建立一个ODBC连接并写入文件的方式。

+1

对于csv /分隔的某种文件可能是最好的选择。 SAS在预防互操作性方面拥有既得利益,所以我不喜欢你获得高效转移的机会。虽然是一个商业产品,但我听到了有关使用此程序的人的良好报告:https://www.stattransfer.com/stattransfer/formats.html – thelatemail