]> Humopery - polarsbop.git/commitdiff
? not unwrap
authorErik Mackdanz <erikmack@gmail.com>
Fri, 24 Nov 2023 05:40:35 +0000 (23:40 -0600)
committerErik Mackdanz <erikmack@gmail.com>
Fri, 24 Nov 2023 05:40:35 +0000 (23:40 -0600)
src/main.rs

index ee83ea0b58bb4e4746e27577eb12225250bb3232..3d4fb571f5274f99cb66b8fe21cfadabbcae7e38 100644 (file)
@@ -2,7 +2,7 @@ use polars::prelude::*;
 use std::fs::{create_dir_all,File};
 
 
-fn main() {
+fn main() -> Result<(),PolarsError> {
 
     create_dir_all("out").unwrap();
     let mut file =
@@ -28,26 +28,27 @@ fn main() {
        )));
 
     // read and parse from disk
-    let df = CsvReader::from_path("data/bop.csv").unwrap()
+    let df = CsvReader::from_path("data/bop.csv")?
        .has_header(true)
        .with_dtypes(schema_override)
        .with_null_values(null_values)
-       .finish().unwrap();
+       .finish()?;
 
     // one country
-    let df = df.filter(&df.column("Country Name").unwrap().
-                      equal("France").unwrap()).unwrap();
+    let df = df.filter(&df.column("Country Name")?.
+                      equal("France")?)?;
 
     // 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();
+       .filter(&df.column("Attribute")?.
+                          equal("Value")?)?
+       .select(["Country Name","Indicator Name","Indicator Code","2022"])?
+       .sort(["Indicator Name"],false,false)?;
 
     println!("df: {:?}",df);
 
     JsonWriter::new(&mut file)
-       .finish(&mut df).unwrap();
+       .finish(&mut df)?;
 
+    Ok(())
 }