Files
MoFin/venv/lib/python3.12/site-packages/tushare/util/protobuf/funcs.py
T
知微 fa45d8aa5f fix: 小果地址统一node122(兼容LAN+EasyTier)
- health_checklist.json: 192.168.1.122→node122
- ocr_client.py: docstring IP→node122
- docs/market-data-requirements.md: IP→node122
- 所有API调用通过ProxyHandler({})绕过系统代理
  Privoxy对node122:18003返回500,直连正常
2026-06-30 02:56:35 +08:00

31 lines
749 B
Python

import pandas as pd
import numpy as np
from decimal import Decimal
from typing import Dict, List, Optional
from tushare.util.protobuf.response_pb2 import Response, DataFrame, ColumnDataInt, ColumnDataFloat, ColumnDataStr
types = {
np.str: 'ColumnDataStr',
'float': 'ColumnDataFloat',
'int': 'ColumnDataInt'
}
def protobuf_parse(in_bytes: bytes) -> dict:
obj = Response()
obj.ParseFromString(in_bytes)
g = globals()
rs: dict = {}
for item, field in zip(obj.data.items, obj.data.fields):
a = g[field.type]()
item.Unpack(a)
rs[field.name] = a.values
return {
'code': obj.code,
'msg': obj.msg,
'has_more': obj.data.has_more,
'data': pd.DataFrame(rs)
}