6个版本 (3个重大更改)
使用旧Rust 2015
0.4.0 | 2018年3月5日 |
---|---|
0.3.1 | 2017年9月19日 |
0.3.0 | 2017年8月20日 |
0.2.1 | 2017年3月13日 |
0.1.0 | 2017年3月7日 |
#8 in #npy
每月120次下载
在npy中使用
5KB
72 行
npy-rs
Numpy格式 (*.npy) 序列化和反序列化。
NPY 是一种简单的二进制数据格式。它在一个头部中存储类型、形状和字节序信息,随后是一个平面二进制数据字段。该crate提供了一种简单、大多数情况下类型安全的读取和写入 *.npy 文件的方法。文件通过迭代器处理,因此不需要全部适合内存。
使用方法
要使用 npy-rs,必须在 Cargo.toml
中指定两个依赖项
npy = "0.4"
npy-derive = "0.4"
导入所有所需内容的典型方法
#[macro_use]
extern crate npy_derive;
extern crate npy;
npy-derive
依赖项仅适用于 结构化数组 序列化。
现在可以从 *.npy
文件导入数据
use npy::NpyData;
std::fs::File::open("data.npy").unwrap().read_to_end(&mut buf).unwrap();
let data: Vec<f64> = NpyData::from_bytes(&buf).unwrap().to_vec();
并将数据导出到 *.npy
文件
npy::to_file("data.npy", data).unwrap();
有关更多信息,请参阅文档。
在 示例目录 中提供了几个使用示例;simple 示例展示了如何加载文件,roundtrip 展示了读取和写入。大型文件可以像在 large 示例中那样进行内存映射。
lib.rs
:
为结构实现 trait Serializable
使用这个包,只需要在结构体上使用 #[derive(Serializable)]
即可实现对其实例的序列化和反序列化。所有字段都必须实现 Serializable
。
依赖项
约2MB
约47K SLoC