$title CSVRead Example 5 - Reading more than one Parameter from a single Input File (CSV2GDXE5,114) $onText This model demonstrates how to read more than one parameter from in single CSV file. However, this cannot be done with CSVRead directly, since CSVRead returns one single parameter. The data must be split later on. This model is referenced in "Getting Started Example 4 - Reading more than one parameter from a single input file" from the CSVRead Documentation. Keywords: CSVRead, data exchange, GAMS language features $offText $onEcho > networkData.csv plant;station;length;minCap;maxCap;stage;cost p1;s1;100;50;100;1;1200 p1;s2;75;35;65;1;500 p1;s1;100;100;150;2;1800 p2;s1;150;50;100;1;1400 p2;s1;150;100;150;2;2000 p2;s1;150;150;200;3;2350 p2;s2;75;25;50;1;600 p2;s2;75;50;75;2;800 p3;s1;80;40;100;1;1050 $offEcho $call gamstool csvread networkData.csv id=dataPar useHeader=y fieldSep=semiColon index=1,2,6 values=4,5,7 trace=0 gdxout=networkData.gdx $ifE errorLevel<>0 $abort Problems reading networkData.csv! Set plant, station, stage; * CSVRead reads all data into one single parameter. To split the data later on, * it is necessary to declare the dummy parameter dataPar at first Parameter dataPar minCap(plant,station,stage) maxCap(plant,station,stage) cost(plant,station,stage); $gdxIn networkData.gdx $load plant = dim1 $load station = dim2 $load stage = dim3 $load dataPar $gdxIn minCap(plant,station,stage) = dataPar(plant,station,stage,'minCap'); maxCap(plant,station,stage) = dataPar(plant,station,stage,'maxCap'); cost(plant,station,stage) = dataPar(plant,station,stage,'cost'); display plant, station, stage, minCap, maxCap, cost;