python - 在 WRDS CRSP 查询中使用来自外部文件的 Python dict 值
问题描述
我想从外部文件(Python dict)中读取字典值(CRSP PERMNOS),并将它们用于从特定表返回行的函数中。下面的代码改编自 WRDS Python 支持站点,可以很好地与内联编写的 PERMNO 值配合使用。
def main():
parm = {'permnos': ('22074', '20482', '10049', '19641', '18980')}
data = db.raw_sql('SELECT date,permno,comnam,cusip FROM crsp.dseall WHERE permno in %(permnos)s', params=parm)
data.to_csv(r'cusip-result-2.csv')
print(data)
if __name__=="__main__":
main()
但是,我有541个 PERMNOS,并且希望避免手动内联输入它们!
感谢您的任何提示或指示!
解决方案
首先,将每个 permnos 写入一个名为 permnos.txt 的文件,格式如下:
22074
20482
...
18980
然后您可以执行以下操作:
def main():
parm = {'permnos': tuple([line for line in open('permnos.txt', 'r')])}
data = db.raw_sql('SELECT date,permno,comnam,cusip FROM crsp.dseall WHERE permno in %(permnos)s', params=parm)
data.to_csv(r'cusip-result-2.csv')
print(data)
if __name__=="__main__":
main()
推荐阅读
- firebase - 当我想获取我的图片下载链接 Flutter 时遇到问题(请求没有应用检查令牌。)
- r - 使用 SSasymp 拟合指数衰减模型
- sql - 需要帮助将整数转换为时间
- python - 'numpy.ndarray' 对象没有属性 'columns' 我该如何解决?
- php - 如何覆盖 html 元素但保留块的其余部分?
- python - 在 Python / Numpy 中矢量化从多个边界框点构建多个笛卡尔坐标网格
- flutter - 创建:(_) => AboutBloc(widget.seed)..add(CallforAbout()) 不能在颤振中工作
- django - 用于创建多种 T 恤衫的 Django 模型
- api - 使用 mulesoft 代理时,它是否设置了发出请求的客户端的 X-Forwarded-For IP?
- c# - 使用 MailKit 的一些多语言电子邮件的电子邮件传递失败,而它与旧版 System.Net.Mail 一起工作就像一个魅力