首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何直接将数据从EViews导入MATLAB (不向磁盘写入任何内容)

如何直接将数据从EViews导入MATLAB (不向磁盘写入任何内容)
EN

Stack Overflow用户
提问于 2016-02-10 04:46:16
回答 1查看 534关注 0票数 1

我想从一个EViews (点式和点击计量经济软件,我很遗憾地被迫使用)数据库导入数据直接进入MATLAB,而没有写入任何临时文件到磁盘。当然,将一个系列导出到CSV或Excel并随后导入MATLAB是很简单的,但是对于大量的系列来说,这是效率低下的,而且不允许自动化。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-10 04:46:16

这在EViews网站上的一个文档中得到了介绍:Eviews自动化。在MATLAB中,创建一个ActiveX控件的句柄,并使用该句柄在内存中来回传递数据。

代码语言:javascript
复制
% launch EViews ActiveX server
hm = actxserver('Eviews.Manager') ;
h = hm.GetApplication(0) ;

% load file
h.Run(sprintf('wfuse %s',myPath)) ;

% dates
h.Run(sprintf('string startDate = %s.@first',myVar)) ;
startDate = h.Get('startDate') ;
h.Run(sprintf('string endDate = %s.@last',myVar)) ;
endDate = h.Get('endDate') ;

% drop consecutive leading/trailing missing observations
h.Run(sprintf('smpl %s %s',startDate,endDate)) ;

% transfer values
values = cell2mat(h.GetSeries(myVar)) ;

h.release ;

请注意,有一些启动时间,因为必须等待Eviews在后台启动才能使用它,因此如果您想导入多个系列,建议在创建ActiveX控件句柄后插入循环。

还请注意,这并不适用于所有版本的Eview。如果您有困难,首先与制造商联系以获得修补程序。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35307002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档