# CsvFileWriter

## class CsvFileWriter(file: IO[str])[source]

Bases: [`FileWriter`](https://dev.nominal.io/instro/ref/library/instro.lib.publishers.files.FileWriter.md#instro.lib.publishers.files.FileWriter "instro.lib.publishers.files.FileWriter")[[`str`](https://docs.python.org/3/builtins/stdtypes.html#str "(in Python v3.15)")]

Write one CSV row per channel value, after a header unless the stream already has data.

Wrap the stream and write the header, unless the stream can seek and is past its start.

Raises:
:   [**ValueError**](https://docs.python.org/3/builtins/exceptions.html#ValueError "(in Python v3.15)") – If the stream is not writable or is not a text stream.

Attributes

| [`mode`](https://dev.nominal.io/instro/ref/library/instro.lib.publishers.files.CsvFileWriter.md#instro.lib.publishers.files.CsvFileWriter.mode "instro.lib.publishers.files.CsvFileWriter.mode") |  |
| --- | --- |
| [`newline`](https://dev.nominal.io/instro/ref/library/instro.lib.publishers.files.CsvFileWriter.md#instro.lib.publishers.files.CsvFileWriter.newline "instro.lib.publishers.files.CsvFileWriter.newline") |  |

Methods

| [`write`](https://dev.nominal.io/instro/ref/library/instro.lib.publishers.files.CsvFileWriter.md#instro.lib.publishers.files.CsvFileWriter.write "instro.lib.publishers.files.CsvFileWriter.write") | Append data to CSV file. |
| --- | --- |

### mode: str = 'a'

### newline: str | None = ''

### write( data: Measurement | Command, ) → None[source]

Append data to CSV file.
