first conception of MVN TM temperatures parser was done. It is parse one file wcorrectly
This commit is contained in:
commit
3c4a1f4e60
8
.gitignore
vendored
Normal file
8
.gitignore
vendored
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
/target
|
||||||
|
*.asotr*
|
||||||
|
*.csv
|
||||||
|
*.png
|
||||||
|
*.swp
|
||||||
|
*.zip
|
||||||
|
*.txt
|
||||||
|
asotr_csv
|
7
Cargo.lock
generated
Normal file
7
Cargo.lock
generated
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
version = 4
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "spinx_tm_sens"
|
||||||
|
version = "0.1.0"
|
10
Cargo.toml
Normal file
10
Cargo.toml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
[package]
|
||||||
|
name = "spinx_tm_sens"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
chrono = "0.4"
|
||||||
|
clap = "4.*"
|
||||||
|
lazy_static = {version = "1.5.6", features = ["spin_no_std"]}
|
||||||
|
walkdir = "2.3.2"
|
68371
src/data.txt
Executable file
68371
src/data.txt
Executable file
File diff suppressed because it is too large
Load Diff
66
src/main.rs
Normal file
66
src/main.rs
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
use std::fs::File;
|
||||||
|
use std::io::{BufRead, BufReader};
|
||||||
|
use std::collections::HashMap;
|
||||||
|
|
||||||
|
#[derive(Debug)]
|
||||||
|
struct tm_data {
|
||||||
|
idx: String,
|
||||||
|
val: f32,
|
||||||
|
timestamp_s: u64,
|
||||||
|
date: String,
|
||||||
|
time: String,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl tm_data {
|
||||||
|
pub fn new(idx: String, val: f32, timestamp_s: u64, date: String, time: String) -> tm_data {
|
||||||
|
tm_data { idx, val, timestamp_s, date, time }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let mut buf_raw_sens: Vec<String> = Vec::new();
|
||||||
|
let mut data = File::open("data.txt").unwrap();
|
||||||
|
let mut tm_data_v: [Vec<tm_data>; 4] = [Vec::new(), Vec::new(), Vec::new(), Vec::new()];
|
||||||
|
|
||||||
|
let reader = BufReader::new(data);
|
||||||
|
|
||||||
|
let buf_all: Vec<String> = reader.lines()
|
||||||
|
.map(|line| line.expect("error"))
|
||||||
|
.collect();
|
||||||
|
|
||||||
|
let mut tm_idx = Vec::new();
|
||||||
|
tm_idx.push("T1MBH");
|
||||||
|
tm_idx.push("T2MBH");
|
||||||
|
tm_idx.push("T3MBH");
|
||||||
|
tm_idx.push("T4MBH");
|
||||||
|
|
||||||
|
let mut val: Vec<String> = Vec::new();
|
||||||
|
|
||||||
|
for elem in buf_all {
|
||||||
|
for (i, idx) in tm_idx.clone().into_iter().enumerate() {
|
||||||
|
if elem.contains(idx)
|
||||||
|
{
|
||||||
|
val = elem.split_whitespace()
|
||||||
|
.map(|elem| elem.parse::<String>().unwrap())
|
||||||
|
.collect();
|
||||||
|
|
||||||
|
let temp = tm_data::new(idx.to_string(), val[1].parse::<f32>().unwrap(), 0,
|
||||||
|
val[4].clone(), val[5].clone());
|
||||||
|
|
||||||
|
println!("{:#?}", temp);
|
||||||
|
|
||||||
|
tm_data_v[i].push(temp);
|
||||||
|
|
||||||
|
buf_raw_sens.push(elem.clone());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let val1: Vec<String> = buf_raw_sens[0]
|
||||||
|
.split_whitespace()
|
||||||
|
.map(|elem| elem.parse::<String>().unwrap())
|
||||||
|
.collect();
|
||||||
|
|
||||||
|
println!("{:#?}", tm_data_v[0]);
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user