使用GAMS读取Excel和保存Excel

本文介绍如何使用GAMS的GDX文件格式作为中介,在Excel和GAMS内存之间进行数据的读取与保存操作。通过具体示例展示了如何将Excel中的数据转换为GDX文件并加载至GAMS内存中,以及如何将GAMS内存中的数据导出到GDX文件再转换为Excel格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

无论读取还是保存,都需要使用gdx文件作为中介。

 

读取时,先将excel的数据转换到gdx中,然后读取数据至内存。

eg:

 

 

set

i/usa,eu,row/

t/2005*2010/

;

parameters

LandRate(i,t)

CapitalRate(i,t)

SkLabRate(i,t)

UnskLabRate(i,t)

NatResRate(i,t)

test(i)

;

 

$call "gdxxrw ../data/trend.xlsx output=../data/trend.gdx par=NatResRate rng=NatRes! par=LandRate rng=Land! par=CapitalRate rng=Capital!  par=SkLabRate rng=SkLab! par=UnskLabRate rng=UnskLab!"

 

$GDXIN ../data/trend.gdx

$load LandRate CapitalRate SkLabRate UnskLabRate NatResRate

$GDXIN

display

LandRate

CapitalRate

SkLabRate

UnskLabRate

NatResRate;

 

 

 

 

将数据保存至excel时,首先要将内存中的变量或者参数保存成gdx形式,如后转到到excel。

eg:

 

 

execute_unload "../data/ReTest.gdx" NatResRate

execute 'gdxxrw.exe ../data/ReTest.gdx output=../data/ReTest.xlsx par=NatResRate rng=sheet1!'

 

注意:当data目录下已经存在ReTest.xlsx文件时,再次保存相同的文件名,并不会覆盖原来的文件,而是在这个文件上继续添加数据。

 

 

 

 

详细参考:http://www.gams.com/docs/excel/

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值