import hug from bottle import route, run,NORUN from WindPy import w import iFinDPy as THS import json import pandas as pd import time import os import sys hug.API(__name__).http.output_format = hug.output_format.json @hug.get('/hz_server') def hello(): return 1 # return 'wind true' @hug.get('/edbInfo/wind') def GetEdbDataByWind(EdbCode, StartDate, EndDate): print("GetEdbDataByWind:", EdbCode) isConnected = w.isconnected() print("isconnected") print(isConnected) if isConnected == False: print("re isconnected") w.start() isConnected = w.isconnected() if isConnected == False: return "{'ErrMsg':'启动Wind接口失败'}" print("getdata") option = "Fill=Previous" data = w.edb(EdbCode, StartDate, EndDate, option) print("wind data") print(data) df = pd.DataFrame() if data.ErrorCode == -40521010: # Internet Timeout 超时退出 os._exit(0) return "a" df['DT'] = data.Times df['CLOSE'] = data.Data[0] df['ErrorCode'] = data.ErrorCode df = df[['DT', 'CLOSE', 'ErrorCode']] df = df.dropna() json_data = df.to_json() # w.stop() print("wind data end") result = json.loads(json_data) return result @hug.get('/edbInfo/wind/future_good') def GetFutureGoodEdbDataByWind(FutureGoodEdbCode, StartDate, EndDate): print("GetFutureGoodEdbDataByWind:", FutureGoodEdbCode) isConnected = w.isconnected() print("isconnected") print(isConnected) if isConnected == False: print("re isconnected") w.start() isConnected = w.isconnected() if isConnected == False: return "{'ErrMsg':'启动Wind接口失败'}" print("getdata") option = "Fill=Previous" data = w.edb(FutureGoodEdbCode, StartDate, EndDate, option) data = w.wsd(FutureGoodEdbCode, "trade_code,open,high,low,close,volume,amt,oi,settle", StartDate, EndDate, option) print("wind data") print(data) df = pd.DataFrame() if data.ErrorCode == -40521010: # Internet Timeout 超时退出 os._exit(0) return "a" df['DT'] = data.Times df['TRADE_CODE'] = data.Data[0] df['OPEN'] = data.Data[1] df['HIGH'] = data.Data[2] df['LOW'] = data.Data[3] df['CLOSE'] = data.Data[4] df['VOLUME'] = data.Data[5] df['AMT'] = data.Data[6] df['OI'] = data.Data[7] df['SETTLE'] = data.Data[8] df['ErrorCode'] = data.ErrorCode df = df[['DT', 'TRADE_CODE', 'OPEN', 'HIGH', 'LOW', 'CLOSE', 'VOLUME', 'AMT', 'OI', 'SETTLE', 'ErrorCode']] df = df.dropna() json_data = df.to_json() # w.stop() print("wind data end") result = json.loads(json_data) return result if __name__ == "__main__": # wind 登录 wStart = w.start() if wStart.ErrorCode != 0: print("启动万得API接口失败") print(wStart) app = __hug__.http.server() run(app=app, reloader=True,host='0.0.0.0', port=7000)