如何将rust ndarray写入HDF5数据集?

时间:2020-02-05 12:56:33

标签: rust hdf5

我想将rust ndarray保存到HDF5文件中。

我有以下代码(不起作用):

let data: Vec<[f64; 2]> = data.iter().map(|o| [o.timestamp.amount, o.value.value]).collect();
let signal = ndarray::arr2(&data);
let sig1 = group.new_dataset::<f64>().create(&signal_name, (data.len(), 2))?;
sig1.write(signal)?;  // trait bounds not satisfied??

正确的方法是什么?

1 个答案:

答案 0 :(得分:1)

文档告诉我arr2返回一个数组,但是Dataset :: write需要一个Into<ArrayView>>。似乎并没有为ArrayView实现From,但是:

  • 数组具有.view()方法,该方法应返回ArrayView,因此sig1.write(signal.view)可能有效
  • ArrayView实现了From<& ArrayBase>,因此sig1.write(&signal)也可以工作

至少在导入ArrayBase的情况下/在范围内。

相关问题