Writer

Struct Writer 

Source
pub struct Writer<W: Write> { /* private fields */ }
Expand description

An already configured CSV writer.

§Configuration

To configure a Writer, if you need a custom delimiter for instance of if you want to tweak the size of the inner buffer. Check out the WriterBuilder.

Implementations§

Source§

impl<W: Write> Writer<W>

Source

pub fn from_writer(writer: W) -> Self

Create a new writer with default configuration using the provided writer implementing std::io::Write.

Avoid providing a buffered writer because buffering will be handled for you by the Writer.

Source

pub fn flush(&mut self) -> Result<()>

Flush the underlying BufWriter.

Source

pub fn write_record_no_quoting<I, T>(&mut self, record: I) -> Result<()>
where I: IntoIterator<Item = T>, T: AsRef<[u8]>,

Write the given “record” while foregoing any quoting/escaping.

This method accepts any item implementing IntoIterator and yielding references to byte slices.

BEWARE: if written data needed escaping, invalid CSV will be written!

Only use this method when you can guarantee you are doing the right thing and want the extra performance.

Source

pub fn write_byte_record_no_quoting( &mut self, record: &ByteRecord, ) -> Result<()>

Write the given ByteRecord while foregoing any quoting/escaping.

BEWARE: if written data needed escaping, invalid CSV will be written!

Only use this method when you can guarantee you are doing the right thing and want the extra performance.

Source

pub fn write_record<I, T>(&mut self, record: I) -> Result<()>
where I: IntoIterator<Item = T>, T: AsRef<[u8]>,

Write the given “record”.

This method accepts any item implementing IntoIterator and yielding references to byte slices.

Source

pub fn write_byte_record(&mut self, record: &ByteRecord) -> Result<()>

Write the given ByteRecord.

Source

pub fn write_splitted_record(&mut self, record: &[u8]) -> Result<()>

Write the given byte slice, as-is, without quoting/escaping, with an added newline.

BEWARE: if written data needed escaping, invalid CSV will be written!

This method can typically be used with slices yielded by Splitter.split_record.

Source

pub fn into_inner(self) -> Result<W, IntoInnerError<BufWriter<W>>>

Attempt to unwrap the underlying BufWriter by flusing it and returning the original writer.

Auto Trait Implementations§

§

impl<W> Freeze for Writer<W>
where W: Freeze,

§

impl<W> RefUnwindSafe for Writer<W>
where W: RefUnwindSafe,

§

impl<W> Send for Writer<W>
where W: Send,

§

impl<W> Sync for Writer<W>
where W: Sync,

§

impl<W> Unpin for Writer<W>
where W: Unpin,

§

impl<W> UnwindSafe for Writer<W>
where W: UnwindSafe,

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

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

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.