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/json.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.json").unwrap();
12
13
// json
14
JsonWriter::new(&mut file)
15
.with_json_format(JsonFormat::Json)
16
.finish(&mut df)
17
.unwrap();
18
19
// ndjson
20
JsonWriter::new(&mut file)
21
.with_json_format(JsonFormat::JsonLines)
22
.finish(&mut df)
23
.unwrap();
24
// --8<-- [end:write]
25
26
// --8<-- [start:read]
27
use polars::prelude::*;
28
29
let mut file = std::fs::File::open("docs/assets/data/path.json").unwrap();
30
let df = JsonReader::new(&mut file).finish()?;
31
// --8<-- [end:read]
32
println!("{df}");
33
34
// --8<-- [start:readnd]
35
let mut file = std::fs::File::open("docs/assets/data/path.json").unwrap();
36
let df = JsonLineReader::new(&mut file).finish().unwrap();
37
// --8<-- [end:readnd]
38
println!("{df}");
39
40
// --8<-- [start:scan]
41
let lf = LazyJsonLineReader::new(PlPath::new("docs/assets/data/path.json"))
42
.finish()
43
.unwrap();
44
// --8<-- [end:scan]
45
println!("{}", lf.collect()?);
46
47
Ok(())
48
}
49
50