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 moreSource§impl Debug for WriterBuilder
impl Debug for WriterBuilder
Auto Trait Implementations§
impl Freeze for WriterBuilder
impl RefUnwindSafe for WriterBuilder
impl Send for WriterBuilder
impl Sync for WriterBuilder
impl Unpin for WriterBuilder
impl UnwindSafe for WriterBuilder
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)