Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pola-rs
GitHub Repository: pola-rs/polars
Path: blob/main/docs/source/src/rust/user-guide/io/parquet.rs
6940 views
1
use polars::prelude::*;
2
3
fn main() -> Result<(), Box<dyn std::error::Error>> {
4
// --8<-- [start:write]
5
let mut df = df!(
6
"foo" => &[1, 2, 3],
7
"bar" => &[None, Some("bak"), Some("baz")],
8
)
9
.unwrap();
10
11
let mut file = std::fs::File::create("docs/assets/data/path.parquet").unwrap();
12
ParquetWriter::new(&mut file).finish(&mut df).unwrap();
13
// --8<-- [end:write]
14
15
// --8<-- [start:read]
16
let mut file = std::fs::File::open("docs/assets/data/path.parquet").unwrap();
17
18
let df = ParquetReader::new(&mut file).finish().unwrap();
19
// --8<-- [end:read]
20
println!("{df}");
21
22
// --8<-- [start:scan]
23
let args = ScanArgsParquet::default();
24
let lf = LazyFrame::scan_parquet(PlPath::new("docs/assets/data/path.parquet"), args).unwrap();
25
// --8<-- [end:scan]
26
println!("{}", lf.collect()?);
27
28
Ok(())
29
}
30
31