Python 将数据写入HDF5文件

Python 将数据写入HDF5文件,python,hdf5,Python,Hdf5,我正在尝试使用下面的脚本将数据写入HDF5文件 我运行代码的终端窗口给出了正确的输出,并且创建了输出HDF5文件,但输出文件的表中没有数据 有什么提示吗 导入表 导入日期时间 导入时间 导入csv 从表中导入openFile、IsDescription、Float64Col、Int16Col 从scipy导入数组 将numpy作为np导入 导入操作系统 # 输出\u filename='events\u per\u hour\u output.h5' # 如果uuuu name uuuuuu=

我正在尝试使用下面的脚本将数据写入HDF5文件

我运行代码的终端窗口给出了正确的输出,并且创建了输出HDF5文件,但输出文件的表中没有数据

有什么提示吗


导入表
导入日期时间
导入时间
导入csv
从表中导入openFile、IsDescription、Float64Col、Int16Col
从scipy导入数组
将numpy作为np导入
导入操作系统
#
输出\u filename='events\u per\u hour\u output.h5'
#
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
#从文件中读取数据
输入_file='data_s20002_20121101_20121105.h5'
#从文件名中查找站点ID、开始日期和停止日期
打印“输入文件:”,str(输入文件)
stationID=str(输入文件[6:11])
打印“stationID:”,stationID
开始年份=str(输入文件[12:16])
打印“开始年份:”,开始年份
开始月份=str(输入文件[16:18])
打印“开始月份:”,开始月份
开始日期=str(输入文件[18:20])
打印“开始日”,开始日
停止\u year=str(输入\u文件[21:25])
打印“停止年”,停止年
停止\u month=str(输入\u文件[25:27])
打印“停止月份”,停止月份
停止\u day=str(输入\u文件[27:29])
打印“停止日”,停止日
打印“
使用tables.openFile(str(input_file),'r')作为数据文件:
数据=[(x['timestamp',x['nanoseconds',x['ext_timestamp'],x['pulsehights'])用于
datafile.root.s20002.events中的x]
#
类变量_01(IsDescription):
unix_timestamp=Float64Col()
events=Float64Col()
GMT=64col()
步骤=Float64Col()
#
#
开始日期=日期时间。日期时间(int(开始年份)、int(开始月份)、int(开始日期))
打印“开始日期:”,开始日期
#开始日期=时间.gmtime(int(开始年)、int(开始月)、int(开始日))
停止日期=datetime.datetime(int(停止年)、int(停止月)、int(停止日))
打印“停止日期:”,停止日期
打印“开始日期.时间元组():”,开始日期.时间元组()
start\u unix\u time=time.mktime(start\u date.timetuple())
#start\u unix\u time=time.gmtime(start\u date.timetuple())
stop\u unix\u time=time.mktime(stop\u date.timetuple())
步长=3600#3600秒=1小时
总长度=0
#
使用openFile(输出文件名“w”)作为数据拼接:
group_variable_01=数据_splice.createGroup(“/”,“hisparc_vantage”)
table_variable_01=data_splice.createTable(组_variable_01,‘table_01’、variable_01)
虚拟_01=表格_变量_01.row
#
对于小时步长范围(int(开始unix时间)、int(停止unix时间)、步长):
虚拟_01[“步骤”]=1
虚拟_01.1
结果=[]
对于数据中的行:
如果(hour_step您应该看一看。此模块提供非常简单的函数来读取/写入HDF5文件。如果您读取图像或光栅等数据字段,将直接提供numpy阵列

import h5py

# Create random data
import numpy as np
data_matrix = np.random.uniform(-1, 1, size=(10, 3))

# Write data to HDF5
data_file = h5py.File('file.hdf5', 'w')
data_file.create_dataset('group_name', data=data_matrix)
data_file.close()

另请参见:

如果这不是您的另一个已结束的问题的重复,您最好解释如何解决。
import h5py

# Create random data
import numpy as np
data_matrix = np.random.uniform(-1, 1, size=(10, 3))

# Write data to HDF5
data_file = h5py.File('file.hdf5', 'w')
data_file.create_dataset('group_name', data=data_matrix)
data_file.close()