解析NEM12(间隔计量数据)和NEM13(累计计量数据)数据文件
nemreader的Python项目详细描述
NEM读卡器
澳大利亚能源市场运营商(aemo)定义了一个Meter Data File Format (MDFF)用于读取能源计费数据。 这个库旨在将这些nem12(间隔计量数据)和nem13(累积计量数据)数据文件解析为一个有用的python对象,以便在其他项目中使用。
用法
首先,读取nem文件:
fromnemreaderimportread_nem_filem=read_nem_file('examples/unzipped/Example_NEM12_actual_interval.csv')
您可以查看NMI和后缀(通道)的可用数据:
>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':[]}}
标准后缀/通道在National Metering Identifier Procedure中定义。
E1
是一般的消费渠道(对于nem13,11
)。
最重要的是,你需要自己获取能源数据:
>fornmiinm.readings:>forchannelinm.readings[nmi]:>forreadinginm.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)
转换为CSV
您还可以以更可读的格式输出nem文件:
fromnemreaderimportoutput_as_csvfile_name='examples/unzipped/Example_NEM12_actual_interval.csv'output_file=output_as_csv(file_name)
它将所有通道的转置值输出到csv文件:
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
...