python - Write data to HDF5 file -


i'm trying write data hdf5 file using script below.

the terminal window i'm running code in gives correct output, , output hdf5 file created, no data in tables of output file.

any hints?


import tables import datetime import time import csv tables import openfile, isdescription, float64col, int16col scipy import array import numpy np import os  # output_filename='events_per_hour_output.h5' #  if __name__ == '__main__':     # read data file     input_file='data_s20002_20121101_20121105.h5' #find station id, start date , stop date filename     print "input_file: ",str(input_file)     stationid=str(input_file[6:11])     print "stationid: ",stationid     start_year=str(input_file[12:16])     print "start_year: ", start_year     start_month=str(input_file[16:18])     print "start_month: ", start_month     start_day=str(input_file[18:20])     print "start_day",start_day     stop_year=str(input_file[21:25])     print "stop_year ",stop_year     stop_month=str(input_file[25:27])     print "stop_month ",stop_month     stop_day=str(input_file[27:29])     print "stop_day ",stop_day     print ''      tables.openfile(str(input_file), 'r') datafile:            data = [(x['timestamp'], x['nanoseconds'], x['ext_timestamp'], x['pulseheights'])                     x in datafile.root.s20002.events]   # class variable_01(isdescription):  unix_timestamp = float64col()  events = float64col()  gmt = float64col()  step = float64col() # # start_date=datetime.datetime(int(start_year),int(start_month),int(start_day)) print "start_date: ",start_date #start_date=time.gmtime(int(start_year),int(start_month),int(start_day)) stop_date=datetime.datetime(int(stop_year),int(stop_month),int(stop_day)) print "stop_date: ",stop_date print"start_date.timetuple(): ",start_date.timetuple() start_unix_time=time.mktime(start_date.timetuple()) #start_unix_time=time.gmtime(start_date.timetuple()) stop_unix_time=time.mktime(stop_date.timetuple()) step_length=3600# 3600 seconds = 1 hour total_length=0 # openfile(output_filename, 'w') data_splice:             group_variable_01 = data_splice.creategroup("/", 'hisparc_vantage')             table_variable_01 = data_splice.createtable(group_variable_01, 'table_01', variable_01)             dummy_01 = table_variable_01.row  # hour_step in range(int(start_unix_time),int(stop_unix_time),step_length):  dummy_01['step']=1  dummy_01.append   result = []  row in data:      if (hour_step <= row[0]) , (row[0] < hour_step+step_length):#        result.append(row)   print "utc start time: ",time.strftime("%y-%m-%d %h:%m:%s", time.gmtime(hour_step))  print "len(result) : ", len(result) # #   dummy_01['unix_timestamp'] = hour_step  dummy_01['events']=len(result)  print "dummy_01['events']=",dummy_01['events']  print "dummy_01['unix_timestamp'] =", dummy_01['unix_timestamp']  dummy_01.append()  print '' table_variable_01.flush print "done." 

you should take @ h5py. module provides easy functions read/write hdf5 files. if read data fields such images or rasters, there directly available numpy arrays.


Comments

Popular posts from this blog

.htaccess - First slash is removed after domain when entering a webpage in the browser -

Automatically create pages in phpfox -

c# - Farseer ContactListener is not working -