Skip to main content

Parse NEM12 (interval metering data) and NEM13 (accumulated metering data) data files

Project description

nem-reader

PyPI version Python package Coverage Status

The Australian Energy Market Operator (AEMO) defines a Meter Data File Format (MDFF) for reading energy billing data. This library sets out to parse these NEM12 (interval metering data) and NEM13 (accumulated metering data) data files into a useful python object, for use in other projects.

Usage

First, read in the NEM file:

from nemreader import read_nem_file
m = read_nem_file('examples/unzipped/Example_NEM12_actual_interval.csv')

You can see what data for the NMI and suffix (channel) is available:

> print(m.header)
HeaderRecord(version_header='NEM12', creation_date=datetime.datetime(2004, 4, 20, 13, 0), from_participant='MDA1', to_participant='Ret1')

> print(m.transactions)
{'VABD000163': {'E1': [], 'Q1': []}}

Standard suffix/channels are defined in the National Metering Identifier Procedure. E1 is the general consumption channel (11 for NEM13).

Most importantly, you will want to get the energy data itself:

> for nmi in m.readings:
>     for channel in m.readings[nmi]:
>         for reading in m.readings[nmi][suffix][-1:]:
>             print(reading)
Reading(t_start=datetime.datetime(2004, 4, 17, 23, 30), t_end=datetime.datetime(2004, 4, 18, 0, 0), read_value=14.733, uom='kWh', quality_method='S14', event='', read_start=None, read_end=None)

Command Line Usage

You can also output the NEM file in a more human readable format:

nemreader output example.zip

Which outputs transposed values to a csv file for all channels:

period_start,period_end,E1,Q1,quality_method
2004-02-01 00:00:00,2004-02-01 00:30:00,1.111,2.222,A
2004-02-01 00:30:00,2004-02-01 01:00:00,1.111,2.222,A
...

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nemreader-0.5.tar.gz (11.9 kB view hashes)

Uploaded Source

Built Distribution

nemreader-0.5-py3-none-any.whl (11.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page