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
8354 views
1
fn main() -> Result<(), Box<dyn std::error::Error>> {
2
// --8<-- [start:write]
3
let mut df = df!(
4
"foo" => &[1, 2, 3],
5
"bar" => &[None, Some("bak"), Some("baz")],
6
)
7
.unwrap();
8
9
let mut file = std::fs::File::create("docs/assets/data/path.json").unwrap();
10
11
// json
12
JsonWriter::new(&mut file)
13
.with_json_format(JsonFormat::Json)
14
.finish(&mut df)
15
.unwrap();
16
17
// ndjson
18
JsonWriter::new(&mut file)
19
.with_json_format(JsonFormat::JsonLines)
20
.finish(&mut df)
21
.unwrap();
22
// --8<-- [end:write]
23
24
// --8<-- [start:read]
25
use polars::prelude::*;
26
27
let mut file = std::fs::File::open("docs/assets/data/path.json").unwrap();
28
let df = JsonReader::new(&mut file).finish()?;
29
// --8<-- [end:read]
30
println!("{df}");
31
32
// --8<-- [start:readnd]
33
let df = LazyJsonLineReader::new(PlRefPath::new("docs/assets/data/path.json"))
34
.finish()
35
.unwrap()
36
.collect()
37
.unwrap();
38
// --8<-- [end:readnd]
39
println!("{}", df);
40
41
// --8<-- [start:scan]
42
let lf = LazyJsonLineReader::new(PlRefPath::new("docs/assets/data/path.json"))
43
.finish()
44
.unwrap();
45
// --8<-- [end:scan]
46
println!("{}", lf.collect()?);
47
48
Ok(())
49
}
50
51