[英]How to store null value in hdf5 table?
我想在 hdf5 文件中存储空值。
h5file = tables.open_file("demo.h5", mode="w", title="demo")
group = h5file.create_group('/', 'depth','Dept Data information')
table = h5file.create_table(group, 'readout', depthdata , "depth data")
row_data = table.row
for i in range(len(record['local_timestamp'])):
if record['bbno1'][i] is '':
row_data['bbno1'] = NaN
else:
row_data['bbno1'] = record['bbno1'][i]
我使用了这些代码,但它不起作用。 我使用了 NaN 和 NULL 但它不起作用。
HDF5 的类型模型中没有 NULL(它不是关系数据库)。 通常,如果数据集已扩展但未写入,您将获得填充值,该值的默认值为零,但会针对特定的 HDF5 类型进行解释。
如果您想在 HDF5 数据中存储具有“坏”或“不存在”语义的值,则必须提出自己的特殊值并自行检查。 或者,如果您无法确定特殊值,您可以创建一个额外的数据集(或复合类型中的字段)来指示数据值是否有效。
如果您可以使用“table”格式存储 hdf5 表,那么您可以使用 pandas 的to_hdf
方法(使用 pytables)存储一个 numpy nan:
import numpy as np
import pandas as pd
df = pd.DataFrame([{'foo': np.nan}])
df.to_hdf('out.h5', key='bar', format='table', index=False, data_columns=df.columns.to_list())
不过,数据类型必须是浮点数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.