Hi all,
I have a dataset of chemical data that requires ragged arrays. Dealing with the ragged arrays for numerical values was accomplished via creating a new datatype:
dt = h5py.vlen_dtype(np.dtype('float64'))
However, when processing the atomic symbols, I get a TypeError:
TypeError: Can't implicitly convert non-string objects to strings
It happens when I attempt to create a dataset with the following values (3 shown for example):
array(['O', 'H', 'H', 'O', 'H', 'H', 'O', 'H', 'H', 'O', 'H', 'H', 'O',
'H', 'H', 'O', 'H', 'H', 'O', 'H', 'H', 'O', 'H', 'H', 'O', 'H',
'H', 'O', 'H', 'H', 'O', 'H', 'H', 'O', 'H', 'H', 'O', 'H', 'H',
'O', 'H', 'H', 'O', 'H', 'H', 'O', 'H', 'H'], dtype='<U1')
array(['O', 'H', 'H', 'O', 'H', 'H', 'O', 'H', 'H', 'O', 'H', 'H', 'O',
'H', 'H', 'O', 'H', 'H', 'O', 'H', 'H', 'O', 'H', 'H', 'O', 'H',
'H', 'O', 'H', 'H', 'O', 'H', 'H', 'O', 'H', 'H', 'O', 'H', 'H',
'O', 'H', 'H', 'O', 'H', 'H', 'O', 'H', 'H', 'O', 'H', 'H', 'O',
'H', 'H', 'O', 'H', 'H', 'O', 'H', 'H', 'O', 'H', 'H', 'O', 'H',
'H', 'O', 'H', 'H', 'O', 'H', 'H', 'O', 'H', 'H', 'O', 'H', 'H',
'O', 'H', 'H', 'O', 'H', 'H', 'O', 'H', 'H', 'O', 'H', 'H', 'O',
'H', 'H', 'O', 'H', 'H'], dtype='<U1')
array(['O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'H', 'H', 'H', 'H', 'H',
'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H'], dtype='<U1')
I have a custom datatype string_dt = h5py.special_dtype(vlen=str)
, but I still get the TypeError no matter what. My use case requires ragged arrays, so any help would be appreciated!
Ray