pub struct ReadCsvOptions {
pub delimiter: u8,
pub has_header: bool,
pub infer_schema: bool,
pub infer_schema_length: Option<usize>,
pub dtypes: Option<HashMap<String, DataType>>,
pub skip_rows: usize,
pub comment_char: Option<u8>,
pub use_columns: Option<Vec<String>>,
pub na_values: Option<HashSet<String>>,
}Expand description
CSV 读取配置选项
提供了丰富的 CSV 文件读取配置,支持自定义分隔符、数据类型推断、 列选择等功能。
§示例
use axion::io::csv::{ReadCsvOptions, read_csv};
use axion::dtype::DataType;
use std::collections::HashMap;
// 使用默认配置
let df1 = read_csv("data.csv", None)?;
// 使用自定义配置
let options = ReadCsvOptions::builder()
.with_delimiter(b';')
.with_header(true)
.infer_schema(true)
.build();
let df2 = read_csv("data.csv", Some(options))?;Fields§
§delimiter: u8字段分隔符,默认为 ,
has_header: boolCSV 文件是否包含表头行,默认为 true
如果为 false,列名将自动生成为 “column_0”, “column_1”, …
infer_schema: bool尝试推断列的数据类型,默认为 true
如果为 false,所有列将被读取为字符串
infer_schema_length: Option<usize>用于类型推断的最大行数,默认为 100
如果为 None,则使用所有行进行推断
dtypes: Option<HashMap<String, DataType>>可选的 HashMap,用于手动指定某些列的数据类型 手动指定的类型将覆盖类型推断的结果
skip_rows: usize跳过文件开头的 N 行,默认为 0
comment_char: Option<u8>将以此字符开头的行视作注释并忽略,默认为 None
use_columns: Option<Vec<String>>可选的列选择器,指定要读取的列名子集
如果为 None,则读取所有列
na_values: Option<HashSet<String>>一组应被视为空值的字符串,默认为 None
Implementations§
Source§impl ReadCsvOptions
impl ReadCsvOptions
Sourcepub fn builder() -> ReadCsvOptionsBuilder
pub fn builder() -> ReadCsvOptionsBuilder
创建一个新的 ReadCsvOptions 构建器,使用默认值
Trait Implementations§
Source§impl Clone for ReadCsvOptions
impl Clone for ReadCsvOptions
Source§fn clone(&self) -> ReadCsvOptions
fn clone(&self) -> ReadCsvOptions
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ReadCsvOptions
impl Debug for ReadCsvOptions
Auto Trait Implementations§
impl Freeze for ReadCsvOptions
impl RefUnwindSafe for ReadCsvOptions
impl Send for ReadCsvOptions
impl Sync for ReadCsvOptions
impl Unpin for ReadCsvOptions
impl UnwindSafe for ReadCsvOptions
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more