Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在WRDS CRSP查询中使用外部文件中的Python dict值_Python_Wrds - Fatal编程技术网

在WRDS CRSP查询中使用外部文件中的Python dict值

在WRDS CRSP查询中使用外部文件中的Python dict值,python,wrds,Python,Wrds,我想从外部文件(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.dse

我想从外部文件(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()
但是,我有541PERMNOS,希望避免手动内联输入它们


谢谢你的提示和指点

首先,以以下格式将每个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()

首先,将每个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()