pub struct ReaderBuilder { /* private fields */ }
Expand description

CSV file reader builder

Implementations§

source§

impl ReaderBuilder

source

pub fn new() -> ReaderBuilder

Create a new builder for configuring CSV parsing options.

To convert a builder into a reader, call ReaderBuilder::build

Example
use arrow_csv::{Reader, ReaderBuilder};
use std::fs::File;

fn example() -> Reader<File> {
    let file = File::open("test/data/uk_cities_with_headers.csv").unwrap();

    // create a builder, inferring the schema with the first 100 records
    let builder = ReaderBuilder::new().infer_schema(Some(100));

    let reader = builder.build(file).unwrap();

    reader
}
source

pub fn with_schema(self, schema: SchemaRef) -> Self

Set the CSV file’s schema

source

pub fn has_header(self, has_header: bool) -> Self

Set whether the CSV file has headers

source

pub fn with_datetime_re(self, datetime_re: Regex) -> Self

Set the datetime regex used to parse the string to Date64Type this regex is used while infering schema

source

pub fn with_datetime_format(self, datetime_format: String) -> Self

Set the datetime fromat used to parse the string to Date64Type this fromat is used while when the schema wants to parse Date64Type.

For format refer to chrono docs

source

pub fn with_delimiter(self, delimiter: u8) -> Self

Set the CSV file’s column delimiter as a byte character

source

pub fn with_escape(self, escape: u8) -> Self

source

pub fn with_quote(self, quote: u8) -> Self

source

pub fn with_terminator(self, terminator: u8) -> Self

source

pub fn infer_schema(self, max_records: Option<usize>) -> Self

Set the CSV reader to infer the schema of the file

source

pub fn with_batch_size(self, batch_size: usize) -> Self

Set the batch size (number of records to load at one time)

source

pub fn with_bounds(self, start: usize, end: usize) -> Self

Set the bounds over which to scan the reader. start and end are line numbers.

source

pub fn with_projection(self, projection: Vec<usize>) -> Self

Set the reader’s column projection

source

pub fn build<R: Read + Seek>(self, reader: R) -> Result<Reader<R>, ArrowError>

Create a new Reader from a non-buffered reader

If R: BufRead consider using Self::build_buffered to avoid unnecessary additional buffering, as internally this method wraps reader in std::io::BufReader

source

pub fn build_buffered<R: BufRead + Seek>(
    self,
    reader: R
) -> Result<BufReader<R>, ArrowError>

Create a new BufReader from a buffered reader

source

pub fn build_decoder(self) -> Decoder

Builds a decoder that can be used to decode CSV from an arbitrary byte stream

Panics

This method panics if no schema provided

Trait Implementations§

source§

impl Debug for ReaderBuilder

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for ReaderBuilder

source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere
    T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere
    T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere
    T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere
    U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere
    U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere
    U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> Allocation for Twhere
    T: RefUnwindSafe + Send + Sync,