2017-10-24 6 views
0

Ich möchte Null-Wert in der hdf5-Datei speichern.Wie speichert man den Nullwert in der Tabelle 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] 

Ich habe diesen Code verwendet, aber es funktioniert nicht. Ich habe NaN und NULL benutzt, aber es funktioniert nicht.

Antwort

1

HDF5 hat in seinem Typenmodell keine NULL (es handelt sich nicht um eine relationale Datenbank). Wenn ein Dataset erweitert, aber nicht beschrieben wurde, erhalten Sie im Allgemeinen den Füllwert mit dem Standardwert Null, der jedoch für einen bestimmten HDF5-Typ interpretiert wird.

Wenn Sie in Ihren HDF5-Daten einen Wert mit "schlechter" oder "nicht existierender" Semantik speichern möchten, müssen Sie sich Ihren eigenen speziellen Wert einfallen lassen und selbst prüfen. Wenn Sie keinen speziellen Wert ermitteln können, könnten Sie alternativ eine zusätzliche Datenmenge (oder ein Feld in einem zusammengesetzten Typ) erstellen, die angibt, ob der Datenwert gültig ist.

Verwandte Themen