Использование Python значений dict из внешнего файла в запросе WRDS CRSP - PullRequest
1 голос
/ 06 февраля 2020

Я хотел бы прочитать значения словаря (CRSP PERMNOS) из внешнего файла (Python dict) и использовать их в функции, которая будет возвращать строки из определенной таблицы. Приведенный ниже код, адаптированный с сайта поддержки 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 и я предпочел бы избегать ввода их встроенные вручную!

Спасибо за любые советы или указатели!

1 Ответ

0 голосов
/ 06 февраля 2020

Сначала запишите каждое из ваших 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()
...