Новичок ie в Rust обнаружил этот урок для чтения csv: https://docs.rs/csv/1.1.3/csv/
Я хотел использовать предложенный пример кода:
use std::error::Error;
use std::io;
use std::process;
use serde::Deserialize;
#[derive(Debug, Deserialize)]
struct Record {
bids: Vec<[f64; 2]>,
asks: Vec<[f64; 2]>,
lastupdated: u64
}
fn example() -> Result<(), Box<dyn Error>> {
let mut rdr = csv::Reader::from_reader(io::stdin());
for result in rdr.deserialize() {
// Notice that we need to provide a type hint for automatic
// deserialization.
let record: Record = result?;
println!("{:?}", record);
}
Ok(())
}
fn main() {
if let Err(err) = example() {
println!("error running example: {}", err);
process::exit(1);
}
}
Но с другой выборкой данных :
asks bids lastupdated
[[0.001013, 3], [0.001019, 500]] [[0.001013, 9], [0.0019, 12]] 2020-03-05 00:00:19.404
Я сделал cargo build
, затем ./target/debug/csvtutor < orderbooks.csv
, csvtutor - это имя моей папки. Но у меня есть следующее сообщение об ошибке: error running example: CSV deserialize error: record 1 (line: 2, byte: 23): field 1: invalid digit found in string
Поскольку я новичок ie в Rust, любая помощь приветствуется, так как я застрял и не понимаю сообщение об ошибке ... Я пошел по-другому Пример кода читателя CSV, но я всегда застрял, я хотел бы понять это. Большое спасибо за помощь! (если вы считаете, что вопрос слишком глупый или слишком новый ie, пожалуйста, не помещайте бурный комментарий и просто go в другой пост, спасибо!)