Skip to main content

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

Project description


PyPI version Build Status 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.


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

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

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.

Files for nemreader, version 0.4
Filename, size File type Python version Upload date Hashes
Filename, size nemreader-0.4-py3.7.egg (19.5 kB) File type Egg Python version 3.7 Upload date Hashes View
Filename, size nemreader-0.4-py3-none-any.whl (10.2 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size nemreader-0.4.tar.gz (8.8 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page