Struct polars_io::json::JsonReader  
source · pub struct JsonReader<'a, R>where
    R: MmapBytesReader,{ /* private fields */ }json only.Expand description
Reads JSON in one of the formats in JsonFormat into a DataFrame.
Implementations§
source§impl<'a, R> JsonReader<'a, R>where
    R: MmapBytesReader,
 
impl<'a, R> JsonReader<'a, R>where
    R: MmapBytesReader,
sourcepub fn with_schema(self, schema: SchemaRef) -> Self
 
pub fn with_schema(self, schema: SchemaRef) -> Self
Set the JSON file’s schema
sourcepub fn with_schema_overwrite(self, schema: &'a Schema) -> Self
 
pub fn with_schema_overwrite(self, schema: &'a Schema) -> Self
Overwrite parts of the inferred schema.
sourcepub fn infer_schema_len(self, max_records: Option<NonZeroUsize>) -> Self
 
pub fn infer_schema_len(self, max_records: Option<NonZeroUsize>) -> Self
Set the JSON reader to infer the schema of the file. Currently, this is only used when reading from
JsonFormat::JsonLines, as JsonFormat::Json reads in the entire array anyway.
When using JsonFormat::JsonLines, max_records = None will read the entire buffer in order to infer the
schema, Some(1) would look only at the first record, Some(2) the first two records, etc.
It is an error to pass max_records = Some(0), as a schema cannot be inferred from 0 records when deserializing
from JSON (unlike CSVs, there is no header row to inspect for column names).
sourcepub fn with_batch_size(self, batch_size: NonZeroUsize) -> Self
 
pub fn with_batch_size(self, batch_size: NonZeroUsize) -> Self
Set the batch size (number of records to load at one time)
This heavily influences loading time.
sourcepub fn with_projection(self, projection: Option<Vec<String>>) -> Self
 
pub fn with_projection(self, projection: Option<Vec<String>>) -> Self
Set the reader’s column projection: the names of the columns to keep after deserialization. If None, all
columns are kept.
Setting projection to the columns you want to keep is more efficient than deserializing all of the columns and
then dropping the ones you don’t want.
pub fn with_json_format(self, format: JsonFormat) -> Self
sourcepub fn with_ignore_errors(self, ignore: bool) -> Self
 
pub fn with_ignore_errors(self, ignore: bool) -> Self
Return a null if an error occurs during parsing.
Trait Implementations§
source§impl<'a, R> SerReader<R> for JsonReader<'a, R>where
    R: MmapBytesReader,
 
impl<'a, R> SerReader<R> for JsonReader<'a, R>where
    R: MmapBytesReader,
source§fn finish(self) -> PolarsResult<DataFrame>
 
fn finish(self) -> PolarsResult<DataFrame>
Take the SerReader and return a parsed DataFrame.
Because JSON values specify their types (number, string, etc), no upcasting or conversion is performed between
incompatible types in the input. In the event that a column contains mixed dtypes, is it unspecified whether an
error is returned or whether elements of incompatible dtypes are replaced with null.
source§fn set_rechunk(self, rechunk: bool) -> Self
 
fn set_rechunk(self, rechunk: bool) -> Self
Auto Trait Implementations§
impl<'a, R> Freeze for JsonReader<'a, R>where
    R: Freeze,
impl<'a, R> !RefUnwindSafe for JsonReader<'a, R>
impl<'a, R> Send for JsonReader<'a, R>
impl<'a, R> Sync for JsonReader<'a, R>
impl<'a, R> Unpin for JsonReader<'a, R>where
    R: Unpin,
impl<'a, R> !UnwindSafe for JsonReader<'a, R>
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
§impl<T> Instrument for T
 
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
 
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
 
fn in_current_span(self) -> Instrumented<Self>
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>
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>
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