Arrays 如何在N维数组中存储800行25列的文件?

Arrays 如何在N维数组中存储800行25列的文件?,arrays,vector,rust,Arrays,Vector,Rust,我正在寻找一种在数组中存储800行25列文件的方法。我已经知道如何将CSV中的数据存储在25个不同的向量中,但是代码看起来非常混乱,因为我必须声明所有不同的向量 我非常习惯Python中的array函数,我想知道在Rust中是否有这样做的方法。我找到了外部板条箱,但我不知道如何将其用于6+维阵列。这就是我的代码对于二维数组的外观,您可以想象,如果使用25个不同的向量、f声明和vector.push()函数,它会显得多么混乱 extern crate rand; extern crate csv;

我正在寻找一种在数组中存储800行25列文件的方法。我已经知道如何将CSV中的数据存储在25个不同的向量中,但是代码看起来非常混乱,因为我必须声明所有不同的向量

我非常习惯Python中的
array
函数,我想知道在Rust中是否有这样做的方法。我找到了外部板条箱,但我不知道如何将其用于6+维阵列。这就是我的代码对于二维数组的外观,您可以想象,如果使用25个不同的向量、
f
声明和
vector.push()
函数,它会显得多么混乱

extern crate rand;
extern crate csv;

fn print(v: Vec<f64>) {
    println!("New vector");
    for x in &v {
        println!("{}  ", x);
    }
}

fn main() {
    let mut rdr = csv::Reader::from_file("./data.csv").unwrap();
    let mut v1 = Vec::new();
    let mut v2 = Vec::new();
    for record in rdr.decode() {
        let (f1, f2): (f64, f64) = record.unwrap();
        println!("({}, {}, {}, {}, {}, {})", f1, f2);
        v1.push(f1);
        v2.push(f2);

    }
    print(v1);
    print(v2);
}
extern板条箱兰德;
外部板条箱;
fn打印(v:Vec){
println!(“新向量”);
用于x in&v{
println!(“{}”,x);
}
}
fn main(){
让mut rdr=csv::Reader::from_文件(“./data.csv”).unwrap();
让mut v1=Vec::new();
让mut v2=Vec::new();
用于rdr.decode()中的记录{
let(f1,f2):(f64,f64)=record.unwrap();
println!(“({},{},{},{},{},{},{})”,f1,f2);
v1.推力(f1);
v2.推送(f2);
}
打印(v1);
打印(v2);
}

我想你误解了N维的含义

具有行和列的数组只有2个维度,因此可以很容易地表示为
Vec

因此,我希望代码如下:

fn main() {
    let mut rdr = csv::Reader::from_file("./data.csv").unwrap();

    let result = Vec::new();

    for record in rdr.decode() {
        let row: Vec<f64> = record.unwrap();
        println!("{:?}", row);
        result.push(row);
    }
}
fn main(){
让mut rdr=csv::Reader::from_文件(“./data.csv”).unwrap();
让结果=Vec::new();
用于rdr.decode()中的记录{
let row:Vec=record.unwrap();
println!(“{:?}”,第行);
结果:推动(世界其他地区);
}
}

利用为
Vec

实现的事实,我认为您误解了N维的含义

具有行和列的数组只有2个维度,因此可以很容易地表示为
Vec

因此,我希望代码如下:

fn main() {
    let mut rdr = csv::Reader::from_file("./data.csv").unwrap();

    let result = Vec::new();

    for record in rdr.decode() {
        let row: Vec<f64> = record.unwrap();
        println!("{:?}", row);
        result.push(row);
    }
}
fn main(){
让mut rdr=csv::Reader::from_文件(“./data.csv”).unwrap();
让结果=Vec::new();
用于rdr.decode()中的记录{
let row:Vec=record.unwrap();
println!(“{:?}”,第行);
结果:推动(世界其他地区);
}
}

利用为
Vec

快速注释实现的事实:您不需要急于接受答案。一旦一个答案被接受,其他人就不太可能来尝试回答,所以有时候等待一点来接受(比如,一天左右,因为时区)会让你得到更好的答案。快速提示:你不需要急于接受答案。一旦一个答案被接受,其他人就不太可能来尝试回答,所以有时候等待一点来接受(比如,一天左右,因为时区)会让你得到更好的答案。