Function read_csv_typed

Source
pub fn read_csv_typed<P: AsRef<Path>>(
    path: P,
    config: Option<CsvReaderConfig>,
    col_types: Option<&[ColumnType]>,
    missing_values: Option<MissingValueOptions>,
) -> Result<(Vec<String>, Vec<Vec<DataValue>>)>
Expand description

Read a CSV file with type conversion and missing value handling

§Arguments

  • path - Path to the CSV file
  • config - Optional CSV reader configuration
  • col_types - Optional column data types
  • missing_values - Optional missing value handling options

§Returns

  • Result<(Vec<String>, Vec<Vec<DataValue>>)> - Headers and typed data values

§Examples

use scirs2_io::csv::{read_csv_typed, ColumnType, CsvReaderConfig, MissingValueOptions};

// Read with automatic type detection
let (headers, data) = read_csv_typed("data.csv", None, None, None).unwrap();

// Read with specified column types
let col_types = vec![
    ColumnType::String,
    ColumnType::Integer,
    ColumnType::Float,
    ColumnType::Boolean,
];
let (headers, data) = read_csv_typed("data.csv", None, Some(&col_types), None).unwrap();

// Read with custom missing value handling
let missing_opts = MissingValueOptions {
    values: vec!["missing".to_string(), "unknown".to_string()],
    fill_value: Some(0.0),
};
let (headers, data) = read_csv_typed("data.csv", None, None, Some(missing_opts)).unwrap();