Files
backtrader/venv/Lib/site-packages/tushare/pro/client.py
2026-01-17 21:21:30 +08:00

55 lines
1.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# !/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Pro数据接口
Created on 2017/07/01
@author: polo,Jimmy
@group : https://waditu.com
"""
import pandas as pd
import json
from functools import partial
import requests
class DataApi:
__token = ''
__http_url = 'http://api.waditu.com/dataapi'
# __http_url = 'http://127.0.0.1:8000/dataapi'
def __init__(self, token, timeout=30):
"""
Parameters
----------
token: str
API接口TOKEN用于用户认证
"""
self.__token = token
self.__timeout = timeout
def query(self, api_name, fields='', **kwargs):
req_params = {
'api_name': api_name,
'token': self.__token,
'params': kwargs,
'fields': fields
}
res = requests.post(f"{self.__http_url}/{api_name}", json=req_params, timeout=self.__timeout)
if res:
result = json.loads(res.text)
if result['code'] != 0:
raise Exception(result['msg'])
data = result['data']
columns = data['fields']
items = data['items']
return pd.DataFrame(items, columns=columns)
else:
return pd.DataFrame()
def __getattr__(self, name):
return partial(self.query, name)