从CRSP cloud上直接下载的数据,大部分都是SAS的特定格式sas7bdat,如果不用SAS进行分析,需要重新转换为csv格式。
以S&P 500的成分股数据为例,我们从CRSP cloud上下载得到dsp500list.sas7bdat后,可以用Python的sas7bdat库,对它进行读取和处理。
由于SAS有特定的日期格式,转换后日期格式就变成了一个小数部分为0的float,因此我们最好将它再转换成Python的datetime格式。转换规则是,以1960年1月1日为起点,然后每过一天就加1。规则非常简单,直接用pandas.to_datetime()函数进行转换即可。
整个代码如下。
import numpy as np
import pandas as pd
from sas7bdat import SAS7BDAT
SAS_df = SAS7BDAT('dsp500list.sas7bdat', encoding="gb2312")

本文介绍如何将SAS的sas7bdat文件转换为csv格式,以S&P 500成分股数据为例,利用Python的sas7bdat库读取并处理数据。在转换过程中,特别处理了SAS的日期格式,将其转化为Python的datetime格式。
1万+

被折叠的 条评论
为什么被折叠?



