Skip to main content

CsvOptions

Struct CsvOptions 

Source
#[non_exhaustive]
pub struct CsvOptions { pub field_delimiter: String, pub skip_leading_rows: Option<Int64Value>, pub quote: Option<StringValue>, pub allow_quoted_newlines: Option<BoolValue>, pub allow_jagged_rows: Option<BoolValue>, pub encoding: String, pub preserve_ascii_control_characters: Option<BoolValue>, pub null_marker: Option<StringValue>, pub null_markers: Vec<String>, pub source_column_match: String, /* private fields */ }
Expand description

Information related to a CSV data source.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§field_delimiter: String

Optional. The separator character for fields in a CSV file. The separator is interpreted as a single byte. For files encoded in ISO-8859-1, any single character can be used as a separator. For files encoded in UTF-8, characters represented in decimal range 1-127 (U+0001-U+007F) can be used without any modification. UTF-8 characters encoded with multiple bytes (i.e. U+0080 and above) will have only the first byte used for separating fields. The remaining bytes will be treated as a part of the field. BigQuery also supports the escape sequence “\t” (U+0009) to specify a tab separator. The default value is comma (“,”, U+002C).

§skip_leading_rows: Option<Int64Value>

Optional. The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. When autodetect is on, the behavior is the following:

  • skipLeadingRows unspecified - Autodetect tries to detect headers in the first row. If they are not detected, the row is read as data. Otherwise data is read starting from the second row.
  • skipLeadingRows is 0 - Instructs autodetect that there are no headers and data should be read starting from the first row.
  • skipLeadingRows = N > 0 - Autodetect skips N-1 rows and tries to detect headers in row N. If headers are not detected, row N is just skipped. Otherwise row N is used to extract column names for the detected schema.
§quote: Option<StringValue>

Optional. The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote (“). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true. To include the specific quote character within a quoted value, precede it with an additional matching quote character. For example, if you want to escape the default character ’ “ ’, use ’ “” ’.

§allow_quoted_newlines: Option<BoolValue>

Optional. Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file. The default value is false.

§allow_jagged_rows: Option<BoolValue>

Optional. Indicates if BigQuery should accept rows that are missing trailing optional columns. If true, BigQuery treats missing trailing columns as null values. If false, records with missing trailing columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false.

§encoding: String

Optional. The character encoding of the data. The supported values are UTF-8, ISO-8859-1, UTF-16BE, UTF-16LE, UTF-32BE, and UTF-32LE. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties.

§preserve_ascii_control_characters: Option<BoolValue>

Optional. Indicates if the embedded ASCII control characters (the first 32 characters in the ASCII-table, from ‘\x00’ to ‘\x1F’) are preserved.

§null_marker: Option<StringValue>

Optional. Specifies a string that represents a null value in a CSV file. For example, if you specify “\N”, BigQuery interprets “\N” as a null value when querying a CSV file. The default value is the empty string. If you set this property to a custom value, BigQuery throws an error if an empty string is present for all data types except for STRING and BYTE. For STRING and BYTE columns, BigQuery interprets the empty string as an empty value.

§null_markers: Vec<String>

Optional. A list of strings represented as SQL NULL value in a CSV file.

null_marker and null_markers can’t be set at the same time. If null_marker is set, null_markers has to be not set. If null_markers is set, null_marker has to be not set. If both null_marker and null_markers are set at the same time, a user error would be thrown. Any strings listed in null_markers, including empty string would be interpreted as SQL NULL. This applies to all column types.

§source_column_match: String

Optional. Controls the strategy used to match loaded columns to the schema. If not set, a sensible default is chosen based on how the schema is provided. If autodetect is used, then columns are matched by name. Otherwise, columns are matched by position. This is done to keep the behavior backward-compatible. Acceptable values are: POSITION - matches by position. This assumes that the columns are ordered the same way as the schema. NAME - matches by name. This reads the header row as column names and reorders columns to match the field names in the schema.

Implementations§

Source§

impl CsvOptions

Source

pub fn new() -> Self

Creates a new default instance.

Source

pub fn set_field_delimiter<T: Into<String>>(self, v: T) -> Self

Sets the value of field_delimiter.

§Example
let x = CsvOptions::new().set_field_delimiter("example");
Source

pub fn set_skip_leading_rows<T>(self, v: T) -> Self
where T: Into<Int64Value>,

Sets the value of skip_leading_rows.

§Example
use wkt::Int64Value;
let x = CsvOptions::new().set_skip_leading_rows(Int64Value::default()/* use setters */);
Source

pub fn set_or_clear_skip_leading_rows<T>(self, v: Option<T>) -> Self
where T: Into<Int64Value>,

Sets or clears the value of skip_leading_rows.

§Example
use wkt::Int64Value;
let x = CsvOptions::new().set_or_clear_skip_leading_rows(Some(Int64Value::default()/* use setters */));
let x = CsvOptions::new().set_or_clear_skip_leading_rows(None::<Int64Value>);
Source

pub fn set_quote<T>(self, v: T) -> Self
where T: Into<StringValue>,

Sets the value of quote.

§Example
use wkt::StringValue;
let x = CsvOptions::new().set_quote(StringValue::default()/* use setters */);
Source

pub fn set_or_clear_quote<T>(self, v: Option<T>) -> Self
where T: Into<StringValue>,

Sets or clears the value of quote.

§Example
use wkt::StringValue;
let x = CsvOptions::new().set_or_clear_quote(Some(StringValue::default()/* use setters */));
let x = CsvOptions::new().set_or_clear_quote(None::<StringValue>);
Source

pub fn set_allow_quoted_newlines<T>(self, v: T) -> Self
where T: Into<BoolValue>,

Sets the value of allow_quoted_newlines.

§Example
use wkt::BoolValue;
let x = CsvOptions::new().set_allow_quoted_newlines(BoolValue::default()/* use setters */);
Source

pub fn set_or_clear_allow_quoted_newlines<T>(self, v: Option<T>) -> Self
where T: Into<BoolValue>,

Sets or clears the value of allow_quoted_newlines.

§Example
use wkt::BoolValue;
let x = CsvOptions::new().set_or_clear_allow_quoted_newlines(Some(BoolValue::default()/* use setters */));
let x = CsvOptions::new().set_or_clear_allow_quoted_newlines(None::<BoolValue>);
Source

pub fn set_allow_jagged_rows<T>(self, v: T) -> Self
where T: Into<BoolValue>,

Sets the value of allow_jagged_rows.

§Example
use wkt::BoolValue;
let x = CsvOptions::new().set_allow_jagged_rows(BoolValue::default()/* use setters */);
Source

pub fn set_or_clear_allow_jagged_rows<T>(self, v: Option<T>) -> Self
where T: Into<BoolValue>,

Sets or clears the value of allow_jagged_rows.

§Example
use wkt::BoolValue;
let x = CsvOptions::new().set_or_clear_allow_jagged_rows(Some(BoolValue::default()/* use setters */));
let x = CsvOptions::new().set_or_clear_allow_jagged_rows(None::<BoolValue>);
Source

pub fn set_encoding<T: Into<String>>(self, v: T) -> Self

Sets the value of encoding.

§Example
let x = CsvOptions::new().set_encoding("example");
Source

pub fn set_preserve_ascii_control_characters<T>(self, v: T) -> Self
where T: Into<BoolValue>,

Sets the value of preserve_ascii_control_characters.

§Example
use wkt::BoolValue;
let x = CsvOptions::new().set_preserve_ascii_control_characters(BoolValue::default()/* use setters */);
Source

pub fn set_or_clear_preserve_ascii_control_characters<T>( self, v: Option<T>, ) -> Self
where T: Into<BoolValue>,

Sets or clears the value of preserve_ascii_control_characters.

§Example
use wkt::BoolValue;
let x = CsvOptions::new().set_or_clear_preserve_ascii_control_characters(Some(BoolValue::default()/* use setters */));
let x = CsvOptions::new().set_or_clear_preserve_ascii_control_characters(None::<BoolValue>);
Source

pub fn set_null_marker<T>(self, v: T) -> Self
where T: Into<StringValue>,

Sets the value of null_marker.

§Example
use wkt::StringValue;
let x = CsvOptions::new().set_null_marker(StringValue::default()/* use setters */);
Source

pub fn set_or_clear_null_marker<T>(self, v: Option<T>) -> Self
where T: Into<StringValue>,

Sets or clears the value of null_marker.

§Example
use wkt::StringValue;
let x = CsvOptions::new().set_or_clear_null_marker(Some(StringValue::default()/* use setters */));
let x = CsvOptions::new().set_or_clear_null_marker(None::<StringValue>);
Source

pub fn set_null_markers<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<String>,

Sets the value of null_markers.

§Example
let x = CsvOptions::new().set_null_markers(["a", "b", "c"]);
Source

pub fn set_source_column_match<T: Into<String>>(self, v: T) -> Self

Sets the value of source_column_match.

§Example
let x = CsvOptions::new().set_source_column_match("example");

Trait Implementations§

Source§

impl Clone for CsvOptions

Source§

fn clone(&self) -> CsvOptions

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CsvOptions

Source§

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

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

impl Default for CsvOptions

Source§

fn default() -> CsvOptions

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

impl Message for CsvOptions

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for CsvOptions

Source§

fn eq(&self, other: &CsvOptions) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for CsvOptions

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FutureExt for T

Source§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
Source§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

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

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> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

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

Source§

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

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more