[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
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);
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();
+
}