将大型SAS数据集转换为hdf5

2024-06-10 18:42:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有多个大的(大于10GB)SAS数据集,我想转换为在pandas中使用,最好在HDF5中使用。有许多不同的数据类型(日期、数值、文本),一些数值字段也有不同的缺失值错误代码(例如,值可以是.,.e,.C等等),我希望保留列名和标签元数据。有没有人找到了一个有效的方法来做到这一点?在

我尝试使用MySQL作为两者之间的桥梁,但是在传输时遇到了一些超出范围的错误,而且速度非常慢。我还尝试了从SAS以Stata.dta格式导出,但是SAS(9.3)以旧的Stata格式导出,该格式与pandas中的read_stat()不兼容。我也试过sas7bdat包,但从描述来看,它还没有被广泛测试过,所以我想用另一种方式加载数据集并比较结果,以确保一切正常工作。在

额外细节:我要转换的数据集是来自CRSP、Compustat、IBES和WRDS中的TFN。在


Tags: 数据方法文本pandas格式mysql标签数值
2条回答

我以前没那么幸运。我们(在我工作的地方)只使用制表符分隔的文件在SAS和Python之间进行传输,而且我们经常这样做。在

也就是说,如果您在Windows上,您可以尝试设置ODBC连接并以这种方式编写文件。在

你可能会对“肮脏的数据”工具感兴趣。它提供了一个read_sas方法来将sas文件读入pandas数据帧。在

原始sas7bdat:http://git.pyhacker.com/sas7bdat

带读操作的fork:https://github.com/openfisca/sas7bdat

欢迎改进!在

相关问题 更多 >