上のレポジトリからデータsensor_dataを引っ張ってきてそれをDataFrameで読み込むところまでできるようになった
[package]
name = "lidar_200"
version = "0.1.0"
authors = ["hogehoge"]
edition = "2018"
# See more keys and their definitions at <https://doc.rust-lang.org/cargo/reference/manifest.html>
[dependencies]
polars = "0.10.1"
cargo update && cargo run
するとうまくいけば依存を組み込んだ形でコンパイルできる、が自分の場合はpacked_simd_2
というパッケージをコンパイルするときにE0554というエラーが出た。#![feature]
みたいに書かれた部分があるとstable版のコンパイラではコンパイルできずnightly版のコンパイラでコンパイラを使う必要があるよ、というエラーらしい。ちなみにエラーコードがある場合rustc —explain E0554
みたいにして詳細を調べられるらしい。use
キーワードを使うっぽいpolars
でDataFrameを読み込むには次のようにするuse polars::prelude::*;
use std::fs::File;
fn read_frame() -> Result<DataFrame> {
let file = File::open("<ファイルのパス>").expect("could not read file");
CsvReader::new(file)
.infer_schema(None)
.has_header(false)
.with_delimiter(b',')
.finish()
}
return
書かなくても最後に評価された式の返り値が返されるようになっているっぽい?Result
は失敗するかもしれないオペレーションに関してラップして返してくれるらしい。.unwrap()
で中身が取り出せるevcxr
という対話環境があるらしい。ちょこちょこっと実験する分には便利。Evcxrを使ってJupyter Notebook(JupyterLab)でRustを実行する | Developers.IO