OpenEnergy Platform



In [ ]:
__copyright__ = "Zentrum für nachhaltige Energiesysteme Flensburg"
__license__   = "GNU Affero General Public License Version 3 (AGPL-3.0)"
__url__       = "https://github.com/openego/data_processing/blob/master/LICENSE"
__author__    = "wolfbunke"

Tutorial - How to work with the OpenEnergy Platform (OEP)


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 ReadtheDocs.io.

Part IV

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

Part IV

0. Setup token


Do not push your token to GitHub!

In [ ]:
import requests
import pandas as pd
from IPython.core.display import HTML

# oedb
oep_url= 'http://oep.iks.cs.ovgu.de/'

# token
your_token = ''

1. Select data


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, )
conv_powerplants.status_code
**200** succesfully selected data!

2. Make a pandas dataframe


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

3. Make calculations

Get an overview of your DataFrame:


In [ ]:
df_pp.info()

Sum the installed Capacity by fuels and add the Unit MW to a new column.


In [ ]:
results = df_pp[['capacity','fuel']].groupby('fuel').sum()
results['units'] = 'MW'
results

In [ ]:
# Write DataFrame as csv
results.to_csv('Conventional_powerplants_germany.csv',
                        sep=',',
                        float_format='%.3f',
                        decimal='.',
                        date_format='%Y-%m-%d',
                        encoding='utf-8',
                        if_exists="replace")

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.
writer.save()