OpenEnergy Platform


API tutorial 4 - Process query result data and save to filePermalink


Please report bugs and improvements here:
How to get started with Jupyter Notebooks can be found here:
Please ensure you have read the Terms of use here:

In [1]:
__copyright__ = "Zentrum für nachhaltige Energiesysteme Flensburg"
__license__   = "GNU Affero General Public License Version 3 (AGPL-3.0)"
__url__       = ""
__author__    = "wolfbunke"


This is an important information!
This is an information!
This is your task!

This tutorial gives you an overview of the OpenEnergy Platform and how you can work with the REST-full-HTTP API in Python.
The full API documentaion can be found on

Part IV - How to work with the OpenEnergy Platform (OEP)Permalink

0 Setup token
1 Select data
2 Make a pandas dataframe
3 Make calculations
4 Save results as csv and excel files

Part IVPermalink

0. Setup tokenPermalink

Do not push your token to GitHub!
In [ ]:
import requests
import pandas as pd
from IPython.core.display import HTML

from token_config import oep_url, get_oep_token

# token
your_token = get_oep_token()

1. Select dataPermalink

In [ ]:
# select powerplant data
schema = 'supply'
table = 'ego_dp_conv_powerplant'
where = 'version=v0.2.10'

conv_powerplants = requests.get(oep_url+'/api/v0/schema/'+schema+'/tables/'+table+'/rows/?where='+where, )
Response [200] succesfully selected data!
Response [404] table doesn't exist!

2. Make a pandas dataframePermalink

In [ ]:
df_pp = pd.DataFrame(conv_powerplants.json())

3. Make calculationsPermalink

Get an overview of your DataFrame:
In [ ]:
Sum the installed Capacity by fuels and add the unit MW in a new column.
In [ ]:
results = df_pp[['capacity','fuel']].groupby('fuel').sum()
results['units'] = 'MW'
Create a csv file from the data frame with a suitable name and configure the representation of the different data types.
In [ ]:
# Write DataFrame as csv with desired column seperator and representation of the datatypes
The file can be found in the /api folder.
Create a .xlsx file with a suitable name and two sheets. The sheets must contain the data from 1. result and 2. df_pp.
In [ ]:
# Write the results as xlsx file
writer = pd.ExcelWriter('Conventional_powerplants_germany.xlsx', engine='xlsxwriter')

# write results of installed Capacity by fuels
results.to_excel(writer, index=False, sheet_name='Installed Capacities by fuel')

# write orgininal data in second sheet
df_pp.to_excel(writer, index=False, sheet_name='Conventional Powerplants')

# Close the Pandas Excel writer and output the Excel file.
The file can be found in the /api folder.

If you find bugs or if you have ideas to improve the Open Energy Platform, you are welcome to add your comments to the existing issues on GitHub.
You can also fork the project and get involved.

Please note that the platform is still under construction and therefore the design of this page is still highly volatile!


Back to tutorials