]> Humopery - polarsbop.git/commitdiff
write json
authorErik Mackdanz <erikmack@gmail.com>
Fri, 24 Nov 2023 04:25:50 +0000 (22:25 -0600)
committerErik Mackdanz <erikmack@gmail.com>
Fri, 24 Nov 2023 04:25:50 +0000 (22:25 -0600)
.gitignore
Cargo.toml
src/main.rs

index ea8c4bf7f35f6f77f75d92ad8ce8349f6e81ddba..0a25f367a8ea817281218f458d8b9ead0a564af5 100644 (file)
@@ -1 +1,2 @@
 /target
+/out
index 2623bb26894c065c3e9ceb446f382735b6b29584..faabd4a67eb817ea847bb2cb40526c8172edffc5 100644 (file)
@@ -8,6 +8,3 @@ edition = "2021"
 [dependencies]
 polars = { version = "0.35.4", features = ["lazy", "fmt", "partition_by", "http", "streaming", "async", "aws", "json", "random"] }
 polars-io = { version = "0.35.4", features = ["csv", "aws", "fmt", "http", "json"] }
-
-[build]
-rustflags = ["-C", "link-arg=-fuse-ld=lld"]
\ No newline at end of file
index 68ad3c70d0eee520608aa3a0349f2d6717c0996d..914ff0c1f8ec5cb4b5c24f892515fb4a1d9493ca 100644 (file)
@@ -1,8 +1,13 @@
 use polars::prelude::*;
-use polars_io::csv::CsvReader;
+use std::fs::{create_dir_all,File};
+
 
 fn main() {
 
+    create_dir_all("out").unwrap();
+    let mut file =
+       File::create("out/output.json").unwrap();
+
     // set some columns to be parsed as numeric
     let mut schema_override = Schema::new();
     let _ = schema_override.with_column("2022".into(),DataType::Float64);
@@ -24,12 +29,16 @@ fn main() {
     let df = df.filter(&df.column("Country Name").unwrap().
                       equal("France").unwrap()).unwrap();
 
-    // values not status
-    let df = df.filter(&df.column("Attribute").unwrap().
-                      equal("Value").unwrap()).unwrap();
-
-    // just a few columns
-    let df = df.select(["Country Name","Indicator Name","Indicator Code","2022"]).unwrap();
+    // values not status, selected cols
+    let mut df = df
+       .filter(&df.column("Attribute").unwrap().
+                          equal("Value").unwrap()).unwrap()
+       .select(["Country Name","Indicator Name","Indicator Code","2022"]).unwrap()
+       .sort(["Indicator Name"],false,false).unwrap();
 
     println!("df: {:?}",df);
+
+    JsonWriter::new(&mut file)
+       .finish(&mut df).unwrap();
+
 }