123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- import hug
- from bottle import route, run
- import pdblp
- import json
- import pandas as pd
- hug.API(__name__).http.output_format = hug.output_format.json
- @hug.get('/hz_server')
- def hello():
- return 1
- @hug.get('/edbInfo/pb')
- def GetEdbDataByPb(EdbCode, StartDate, EndDate):
- print("GetEdbDataByPb")
- bbg = pdblp.BCon(debug=True, port=8194)
- bbg.start()
- try:
- rst = bbg.bdh(EdbCode,
- ['PX_LAST', 'PE_RATIO', 'PX_TO_BOOK_RATIO', 'EQY_DVD_YLD_12M', 'TURNOVER', 'CUR_MKT_CAP'],
- StartDate, EndDate, longdata=True).to_json()
- except:
- rst = pd.DataFrame().to_json()
- print(rst)
- print("pd data end")
- # jsonArr = json.dumps(rst_list, ensure_ascii=False)
- # result = json.loads(json_data)
- bbg.stop()
- result = json.loads(rst)
- return result
- @hug.get('/edbInfo/pb/finance')
- def GetEdbDataByPbFinance(CompanyCode, EdbCode, StartDate, EndDate):
- print("GetEdbDataByPb")
- bbg = pdblp.BCon(debug=False, port=8194)
- bbg.start()
- try:
- # rst = bbg.bdh(CompanyCode, EdbCode, StartDate, EndDate, longdata=True).to_json()
- print("start get data")
- # rst = bbg.bdh(CompanyCode, EdbCode, '20200701', '20221231', longdata=True)
- rst = bbg.bdh(CompanyCode, EdbCode, StartDate, EndDate, longdata=True)
- print(rst)
- print("end get data")
- print("pd_finance data end")
- # jsonArr = json.dumps(rst_list, ensure_ascii=False)
- # result = json.loads(json_data)
- bbg.stop()
- result = json.loads(rst.to_json())
- return result
- except Exception as e:
- exceptResult = pd.DataFrame().to_json()
- print("start except")
- print(e)
- print(exceptResult)
- print("end except")
- bbg.stop()
- return
- if __name__ == "__main__":
- app = __hug__.http.server()
- run(app=app, reloader=True,host='0.0.0.0', port=7001)
|