2 个版本

0.1.1 2022年11月14日
0.1.0 2022年11月13日

#179#解析

MIT 许可证

25KB
515

emotibit-data

一个用于解析原始 EmotiBit 数据的 Rust 库。

EmotiBit 是一种可穿戴传感器模块,用于捕获高质量的情绪、生理和运动数据。易于使用且经过科学验证的传感技术,让您可以轻松地将无线数据流传输到任何平台或直接将数据记录到内置的 SD 卡。

文档

使用方法

将以下行添加到您的 Cargo.toml 文件中。

emotibit-data = "0.1"

示例

将单个 CSV 行转换为 DataPacket

use emotibit_data::types::DataPacket;

fn main() {
    let csv_str = "1126349,49106,10,PI,1,100,156593,156471,156372,156300,156205,156136,156130,156103,156051,156103";
    match TryInto::<DataPacket>::try_into(csv_str) {
        Ok(packet) => println!("{:?}", packet),
        Err(e) => println!("{:?}", e),
    }
}

读取 CSV 文件并填充 DataPacket

use anyhow::Result;
use emotibit_data::{parser, types::DataPacket};

fn main() {
    let file_path = "raw_data.csv";
    let result: Vec<Result<DataPacket>> = parser::get_packets(file_path).unwrap();
    let (data_packets, errors): (Vec<_>, Vec<_>) = result.into_iter().partition(Result::is_ok);

    for packet in data_packets {
        println!("{:?}", packet.unwrap());
    }

    for error in errors {
        println!("{:?}", error);
    }
}

更多示例在 示例 文件夹中。

依赖项

~3–10MB
~77K SLoC