pub struct WriterBuilder {
delimiter: u8,
has_header: bool,
quote: u8,
escape: u8,
double_quote: bool,
date_format: Option<String>,
datetime_format: Option<String>,
timestamp_format: Option<String>,
timestamp_tz_format: Option<String>,
time_format: Option<String>,
null_value: Option<String>,
}
Expand description
A CSV writer builder
Fields§
§delimiter: u8
Optional column delimiter. Defaults to b','
has_header: bool
Whether to write column names as file headers. Defaults to true
quote: u8
Optional quote character. Defaults to b'"'
escape: u8
Optional escape character. Defaults to b'\\'
double_quote: bool
Enable double quote escapes. Defaults to true
date_format: Option<String>
Optional date format for date arrays
datetime_format: Option<String>
Optional datetime format for datetime arrays
timestamp_format: Option<String>
Optional timestamp format for timestamp arrays
timestamp_tz_format: Option<String>
Optional timestamp format for timestamp with timezone arrays
time_format: Option<String>
Optional time format for time arrays
null_value: Option<String>
Optional value to represent null
Implementations§
Source§impl WriterBuilder
impl WriterBuilder
Sourcepub fn new() -> Self
pub fn new() -> Self
Create a new builder for configuring CSV writing options.
To convert a builder into a writer, call WriterBuilder::build
§Example
fn example() -> Writer<File> {
let file = File::create("target/out.csv").unwrap();
// create a builder that doesn't write headers
let builder = WriterBuilder::new().with_header(false);
let writer = builder.build(file);
writer
}
Sourcepub fn with_header(self, header: bool) -> Self
pub fn with_header(self, header: bool) -> Self
Set whether to write the CSV file with a header
Sourcepub fn with_delimiter(self, delimiter: u8) -> Self
pub fn with_delimiter(self, delimiter: u8) -> Self
Set the CSV file’s column delimiter as a byte character
Sourcepub fn with_quote(self, quote: u8) -> Self
pub fn with_quote(self, quote: u8) -> Self
Set the CSV file’s quote character as a byte character
Sourcepub fn with_escape(self, escape: u8) -> Self
pub fn with_escape(self, escape: u8) -> Self
Set the CSV file’s escape character as a byte character
In some variants of CSV, quotes are escaped using a special escape
character like \
(instead of escaping quotes by doubling them).
By default, writing these idiosyncratic escapes is disabled, and is
only used when double_quote
is disabled.
Sourcepub fn with_double_quote(self, double_quote: bool) -> Self
pub fn with_double_quote(self, double_quote: bool) -> Self
Set whether to enable double quote escapes
When enabled (which is the default), quotes are escaped by doubling
them. e.g., "
escapes to ""
.
When disabled, quotes are escaped with the escape character (which
is \\
by default).
Sourcepub fn double_quote(&self) -> bool
pub fn double_quote(&self) -> bool
Get whether double quote escapes are enabled
Sourcepub fn with_date_format(self, format: String) -> Self
pub fn with_date_format(self, format: String) -> Self
Set the CSV file’s date format
Sourcepub fn date_format(&self) -> Option<&str>
pub fn date_format(&self) -> Option<&str>
Get the CSV file’s date format if set, defaults to RFC3339
Sourcepub fn with_datetime_format(self, format: String) -> Self
pub fn with_datetime_format(self, format: String) -> Self
Set the CSV file’s datetime format
Sourcepub fn datetime_format(&self) -> Option<&str>
pub fn datetime_format(&self) -> Option<&str>
Get the CSV file’s datetime format if set, defaults to RFC3339
Sourcepub fn with_time_format(self, format: String) -> Self
pub fn with_time_format(self, format: String) -> Self
Set the CSV file’s time format
Sourcepub fn time_format(&self) -> Option<&str>
pub fn time_format(&self) -> Option<&str>
Get the CSV file’s datetime time if set, defaults to RFC3339
Sourcepub fn with_timestamp_format(self, format: String) -> Self
pub fn with_timestamp_format(self, format: String) -> Self
Set the CSV file’s timestamp format
Sourcepub fn timestamp_format(&self) -> Option<&str>
pub fn timestamp_format(&self) -> Option<&str>
Get the CSV file’s timestamp format if set, defaults to RFC3339
Sourcepub fn with_timestamp_tz_format(self, tz_format: String) -> Self
pub fn with_timestamp_tz_format(self, tz_format: String) -> Self
Set the CSV file’s timestamp tz format
Sourcepub fn timestamp_tz_format(&self) -> Option<&str>
pub fn timestamp_tz_format(&self) -> Option<&str>
Get the CSV file’s timestamp tz format if set, defaults to RFC3339
Sourcepub fn with_rfc3339(self) -> Self
👎Deprecated: Use WriterBuilder::default()
pub fn with_rfc3339(self) -> Self
Use RFC3339 format for date/time/timestamps (default)
Trait Implementations§
Source§impl Clone for WriterBuilder
impl Clone for WriterBuilder
Source§fn clone(&self) -> WriterBuilder
fn clone(&self) -> WriterBuilder
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more