Read and write GAMS Data eXchange (GDX) files using Python.
- GAMS: version 47.0 or higher
- Python: 3.8 or higher
Get GAMS from https://www.gams.com/download/ and install it to your system. No license is needed for the use of GDX libraries.
Install with
pip install gdx2py
>>> from gdx2py import GdxFile, GAMSSet, GAMSScalar, GAMSParameter
>>> with GdxFile('/path/to/gdx/file.gdx', mode='w') as gdx:
>>> gdx['set1'] = ['a', 'b', 'c'] # Write a simple set
>>> set1 = gdx['set1'] # Read a symbol
>>> # Write a 2-dimensional set
>>> gdx['set2'] = [('a', 'foo'), ('b', 'bar'), ('c', 'baz')]
>>> # Write a scalar with explanatory text
>>> gdx['scalar'] = GAMSScalar(3.14, expl_text="Value of pi")
>>> # Write a parameter with domain
>>> gdx['par1'] = GAMSParameter({'a': 1, 'b': 2,
'c': 3, 'd': 4 },
domain=['set1'])
Compared to other packages like PyGDX, gdx-pandas, gdxtools and gdxpy, GDX2py relies
only on the Python standard library and the low-level GDX API gamsapi.core.gdx
module which is part of the GAMS
Python API (gamsapi
) available on PyPI.
|
This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 774629. |