FAQ > 金融建模 > 第三方交互 > Python

Q:如何在do python方式与天软交互中处理DataFrame数据类型    

  • A:天软和python都能支持json串,在交互过程中,可以通过json串作为数据转换的桥梁,解决编码不一致及数据类型不匹配等的问题。
    交互文档:FAQ:2019-05-08-应用专题-第三方交互07:天软平台和PYTHON的交互
    Json转码方式:FAQ:Q:在天软将结果转换成Json串返回到python中解决转码引起的效率低下问题

    使用案例:
    天软相关函数简介:
    ExportJsonString(data:Any):String,将天软数据结构转换为Json串;
    ImportJsonString(data:String):Any,将Json串转换为天软数据结构。
    使用范例:
    范例:do python中处理DataFrame数据类型
    天软代码:天软中调用python执行命令

      t:=select datetoint(['date']) as 'date',
           ['close'],
           ['vol']
       from markettable datekey 20220325T to 20220406T of 'SH600000' end;
      //导出天软数据转json串解决字符编码问题
      t:=exportjsonstring(t);

      //调用python执行命令
      r:= rdo2 py_do(t);
      //json串转天软数据类型
      return importjsonstring(r);


    天软代码:封装交互模型py_do

    Function py_do(r);
    begin
    do python in r name 'data',out ret
    %%
    import json
    import pandas as pd
    import sys

    #读取json格式
    data=json.loads(data)

    #普通数组转dataframe
    df=pd.DataFrame(data,columns=['date','close','vol'])
    #增加列
    df["amount"]=df["close"]*df["vol"]
    #dataframe转回json串
    ret=df.to_json(orient='records')

    %%;
    return ret;
    end

    代码结果: