我有多个大型(> 10GB)SAS数据集,我希望将其转换为用于 Pandas (最好是HDF5)中。我有很多不同的数据类型(日期,数字,文本),并且某些数字字段对于缺失的值(例如,值可以是。,。E,.C等)也具有不同的错误代码,我希望保留列名并标记元数据。有没有人找到一种有效的方法来做到这一点?
我尝试使用MySQL作为两者之间的桥梁,但是在传输时出现了一些超出范围的错误,而且速度非常慢。我也尝试以Stata .dta格式从SAS导出,但是SAS(9.3)以旧的Stata格式导出,该格式与 Pandas 中的read_stat()不兼容。我也尝试过sas7bdat软件包,但是从描述来看,它尚未得到广泛测试,因此我想以另一种方式加载数据集并比较结果以确保一切正常。
额外的细节:我想要转换的数据集来自WRDS的CRSP,Compustat,IBES和TFN。
最佳答案
过去我对此没有多大运气。我们(在我工作的地方)仅使用制表符分隔的文件在SAS和Python之间进行传输-我们做了很多工作。
也就是说,如果您使用的是Windows,则可以尝试建立ODBC连接并以这种方式写入文件。
关于python - 将大型SAS数据集转换为hdf5,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21667547/