|
|
@@ -0,0 +1,54 @@ |
|
|
|
#!/usr/bin/python |
|
|
|
|
|
|
|
from tables import * |
|
|
|
import re |
|
|
|
import time |
|
|
|
|
|
|
|
# A class to describe our data |
|
|
|
class PrepData(IsDescription): |
|
|
|
timestamp = Time64Col() |
|
|
|
p1 = Float32Col() |
|
|
|
q1 = Float32Col() |
|
|
|
p3 = Float32Col() |
|
|
|
q3 = Float32Col() |
|
|
|
p5 = Float32Col() |
|
|
|
q5 = Float32Col() |
|
|
|
p7 = Float32Col() |
|
|
|
q7 = Float32Col() |
|
|
|
|
|
|
|
filename = "test.h5" |
|
|
|
h5file = openFile(filename, mode = "w", title = "NILM Test") |
|
|
|
|
|
|
|
group = h5file.createGroup("/", "newton", "Newton school") |
|
|
|
table = h5file.createTable(group, "prep", PrepData, "Prep Data") |
|
|
|
|
|
|
|
table.cols.timestamp.createIndex() |
|
|
|
|
|
|
|
for i in range(0, 80): |
|
|
|
# Open file |
|
|
|
data = open("data/alldata") |
|
|
|
count = 0 |
|
|
|
oldtime = time.time() |
|
|
|
prep = table.row |
|
|
|
for line in data: |
|
|
|
count = count + 1 |
|
|
|
if count % 1000000 == 0: |
|
|
|
print str(i) + ": " + str((time.time() - oldtime)) + ", total " + str(count/1000000) + "m lines" |
|
|
|
oldtime = time.time() |
|
|
|
v = re.split('\s+', line) |
|
|
|
prep['timestamp'] = float(v[0]) / 1000.0 + 500000 * i |
|
|
|
prep['p1'] = v[1] |
|
|
|
prep['q1'] = v[2] |
|
|
|
prep['p3'] = v[3] |
|
|
|
prep['q3'] = v[4] |
|
|
|
prep['p5'] = v[5] |
|
|
|
prep['q5'] = v[6] |
|
|
|
prep['p7'] = v[7] |
|
|
|
prep['q7'] = v[8] |
|
|
|
prep.append() |
|
|
|
data.close() |
|
|
|
|
|
|
|
h5file.close() |
|
|
|
|
|
|
|
|
|
|
|
|