刘永伟fox 发表于 2019-10-31 16:46:06

tushare网站的matlab咋调用数据啊

    properties
      token = '';
      http_url = 'http://api.tushare.pro';
      tcp_url = 'tcp://tushare.pro';
    end

    methods
      function api = pro_api(token)
            api.token = token;
      end

         function data = query(api, varargin)
            data = [];
            results.data = [];
            results.msg = '';
            try               
                num = length(varargin);
                if num<1
                  results.msg = '第一个参数需要指定接口名称.';
                elseif 0~=rem(num-1, 2) || num<1
                  results.msg = '输入参数有缺失.';
                else
                  params = cell2struct(varargin(3:2:end), varargin(2:2:end), 2);
                end
                struct_params.api_name = varargin{1};
                struct_params.token = api.token;
                struct_params.params = params;
%             struct_params.params.ts_code = ts_code;
%             struct_params.params.start_date = start_date;
%             struct_params.params.end_date = end_date;            

                results.msg = '抱歉:需要matlab 2016b及以上版本.';
                req_text = jsonencode(struct_params);
                results.msg = '抱歉:请检查网络设置.';
                res = urlread2(api.http_url, 'Post', req_text);
                results = jsondecode(res);
            catch
                %----
            end
            if ~isempty(results.msg)
                disp(results.msg);
            end
            if ~isempty(results.data)               
                index = results.data.fields;
                data = cat(2, results.data.items{:})';
                data = cell2table(data, 'VariableNames', index);
            end
      end% query   
      

    end % end of methods
end
页: [1]
查看完整版本: tushare网站的matlab咋调用数据啊