Page 1 of 1

Data exchange from excel to gams (on macOS)

Posted: Mon Jun 20, 2022 7:59 pm
by marco
Hi everyone
I would like to enter the data for parameters from an excel-file with several sheets. I created a model which seems to work with data entered in the simplest way possible but as I want to extend the model with larger data sets I need another method to integrate/include the data.

As I am working on a macOS computer i cannot use the gdxxrw method (as far as I understand it). I tried the following 3 other methods from the tutorial and documentary:

- Data Exchange with Text Files (https://www.gams.com/latest/docs/UG_Dat ... ASCII.html)
- Data Exchange with CSV2GDX (https://www.gams.com/latest/docs/T_CSV2GDX.html)
- Data Exchange with GAMS Connect (https://www.gams.com/latest/docs/UG_GAMSCONNECT.html)

Unfortunately these methods do not work on my model / computer. What method would you suggest for integrating greater data sets from excel to GAMS (on a mac computer)? Is any method advantageous compared to another one?

And sorry for the naive choice of words. I'm a newbie in GAMS and in programming in general.

I would greatly appreciate any help or hint from you. Thanks a lot in advance.

Marco
Strommarkt mit loop + Data CSV2GDX.zip
With csv2gdx data exchange (does not work)
(24.76 KiB) Downloaded 361 times
Strommarkt mit loop + Data Connect.zip
With connect data exchange (does not work)
(24.79 KiB) Downloaded 379 times
Strommarkt mit loop.zip
No data exchange (simple but works)
(17.31 KiB) Downloaded 376 times

Re: Data exchange from excel to gams (on macOS)

Posted: Tue Jun 21, 2022 6:05 pm
by aileen
Hi Marco,

GAMS Connect is a new platform independent tool set to read data from a range of external sources (including Excel), transform it, and make it available to GAMS models. This will be the future for data connectivity in GAMS. We already announced the retirement of a couple of older data tools and will offer proper replacements in Connect. To be able to use Connect you will need to update to GAMS 39.
I attached your example with some minor modifications to get it running. The added < characters in the parameter declaration will implicitly define the sets i, j and h. I also needed to modify the Excel file a bit (see attached) since the PandasExcelReader expects artificial indices for rowDimension=0 and/or columnDimension=0 (see https://www.gams.com/latest/docs/UG_GAM ... DERCONCEPT).

Best,
Aileen
Strommarkt mit loop + Data Connect.gms
(7.02 KiB) Downloaded 430 times
indata.xlsx
(17.41 KiB) Downloaded 417 times

Re: Data exchange from excel to gams (on macOS)

Posted: Tue Jun 21, 2022 10:32 pm
by marco
Hi Aileen

Thank you very much for the explanations and for the modifications to the model and to the excel file. I'm so happy about your help. It would have taken me ages to find all that information and solve these errors.

Thanks again and best regards
Marco

Re: Data exchange from excel to gams (on macOS)

Posted: Wed Nov 16, 2022 9:49 pm
by T_k
Hi Aileen, thanks for the explanation. I am wondering how we could be able to write data from GAMS to excel. I would be grateful if you provide me any resource or a simple example code.

Re: Data exchange from excel to gams (on macOS)

Posted: Thu Nov 17, 2022 7:57 am
by Troy23
Hello,

I would also be very interested in these resources or simple codes as @T_k said. It will be a great help for me.

Re: Data exchange from excel to gams (on macOS)

Posted: Thu Nov 17, 2022 8:46 am
by bussieck
The GAMS Connect documentation has examples: https://www.gams.com/latest/docs/UG_GAM ... _CONNECT03

-Michael

Re: Data exchange from excel to gams (on macOS)

Posted: Thu Feb 22, 2024 3:58 pm
by aileen
With the GAMS 46 release the PandasExcelReader is deprecated and it is recommended to use the new ExcelReader instead. The ExcelReader has the same functionalities as the PandasExcelReader but removes some limitations (e.g. the requirement for artificial indices) and adds some new features (e.g. skipEmpty, index).
With the ExcelReader you can read the original Excel file without modifying it by adding artificial indices. See attached files.

As the above documentation link is not valid anymore, here you find a simple Connect example for Excel. There are also additional examples in the Examples section of the documentation.

Aileen