パイプで区切られたファイルを読み込み、データを処理し、結果をCSV形式で生成したい。Rustでパイプ区切りファイルを読み込んで処理する方法は?
入力ファイルのデータ
A|1|Pass
B|2|Fail
A|3|Fail
C|6|Pass
A|8|Pass
B|10|Fail
C|25|Pass
A|12|Fail
C|26|Pass
C|26|Fail
私は、列1、列3に機能してグループを適用し、特定のグループに応じて、カラム2の合計を生成したいんです。
私は機能によってグループを適用するには、レコードを維持する方法のポイントにこだわっている:私はのような結果を期待してい
use std::fs::File;
use std::io::{BufReader};
use std::io::{BufRead};
use std::collections::HashMap;
fn say_hello(id: &str, value: i32, no_change : i32) {
if no_change == 101 {
let mut data = HashMap::new();
}
if value == 0 {
if data.contains_key(id) {
for (key, value) in &data {
if value.is_empty() {
}
}
} else {
data.insert(id,"");
}
} else if value == 2 {
if data.contains_key(id) {
for (key, value) in &data {
if value.is_empty() {
} else {
}
}
} else {
data.insert(id,"");
}
}
}
fn main() {
let f = File::open("sample2.txt").expect("Unable to open file");
let br = BufReader::new(f);
let mut no_change = 101;
for line in br.lines() {
let mut index = 0;
for value in line.unwrap().split('|') {
say_hello(&value,index,no_change);
index = index + 1;
}
}
}
:
name,result,num
A,Fail,15
A,Pass,9
B,Fail,12
C,Fail,26
C,Pass,57
は、特定のはありますパイプで区切られたファイルを読み込み、上記のようなデータを処理する技術? Pythonのパンダはこの要件を達成しましたが、私はRustでそれをやりたい
CSVクレートを使用しますか? https://docs.rs/csv – BurntSushi5