我使用Python语言中的wrds模块从WRDS中提取数据。在SAS中,我可以轻松地将本地文件上传到WRDS服务器,以便在WRDS服务器上的SQL语句中使用。它的代码是:
proc upload data=mydatafile out=mydatafile; run;Python中也有类似的东西吗?我有一个名为send_to_crsp的Pandas DataFrame,其中包含我想在下面的raw_sql语句中使用的报价器和日期:
import pandas as pd
import wrds
db = wrds.Connection()
rets = db.raw_sql('''
select a.TIC, a.DATE_FILED0, a.DATE_FILED5, b.date, b.ret
from send_to_crsp as a, crsp.dsf as b
where a.TIC=b.tic and b.date >= a.DATE_FILED and b.date <= a.DATE_FILED5
''',
date_cols = ['DATE_FILED0','DATE_FILED5','date'])发布于 2021-06-20 19:27:31
WRDS用户没有CREATE TABLE甚至CREATE TEMPORARY TABLE权限,因此没有选项可以将数据放入WRDS PostgreSQL服务器上的表中。
为了在R上处理这个问题(参见StackOverflow问题here),我基本上将一个本地数据帧转换为以下形式的SQL语句:
SELECT * FROM
(VALUES (10000, '2012-01-03'), (10001, '2013-02-04')) AS t (permno, date))使用dplyr可以很容易地将它变成一个可以与crsp.dsf连接的“表”。有关执行所有这些操作的函数,请参见here (有关该函数用法的说明,请参阅here )。
不幸的是,Python对这类数据分析工作流的支持和文档似乎要弱得多。也许可以使用SQLAlchemy来制作类似的东西。
https://stackoverflow.com/questions/67291089
复制相似问题