polars.DataFrame.write_csv#
- DataFrame.write_csv(
 - file: None = None,
 - *,
 - include_bom: bool = False,
 - include_header: bool = True,
 - separator: str = ',',
 - line_terminator: str = '\n',
 - quote_char: str = '"',
 - batch_size: int = 1024,
 - datetime_format: str | None = None,
 - date_format: str | None = None,
 - time_format: str | None = None,
 - float_precision: int | None = None,
 - null_value: str | None = None,
 - quote_style: CsvQuoteStyle | None = None,
 - DataFrame.write_csv(
 - file: BytesIO | TextIOWrapper | str | Path,
 - *,
 - include_bom: bool = False,
 - include_header: bool = True,
 - separator: str = ',',
 - line_terminator: str = '\n',
 - quote_char: str = '"',
 - batch_size: int = 1024,
 - datetime_format: str | None = None,
 - date_format: str | None = None,
 - time_format: str | None = None,
 - float_precision: int | None = None,
 - null_value: str | None = None,
 - quote_style: CsvQuoteStyle | None = None,
 Write to comma-separated values (CSV) file.
- Parameters:
 - file
 File path or writeable file-like object to which the result will be written. If set to
None(default), the output is returned as a string instead.- include_bom
 Whether to include UTF-8 BOM in the CSV output.
- include_header
 Whether to include header in the CSV output.
- separator
 Separate CSV fields with this symbol.
- line_terminator
 String used to end each row.
- quote_char
 Byte to use as quoting character.
- batch_size
 Number of rows that will be processed per thread.
- datetime_format
 A format string, with the specifiers defined by the chrono Rust crate. If no format specified, the default fractional-second precision is inferred from the maximum timeunit found in the frame’s Datetime cols (if any).
- date_format
 A format string, with the specifiers defined by the chrono Rust crate.
- time_format
 A format string, with the specifiers defined by the chrono Rust crate.
- float_precision
 Number of decimal places to write, applied to both
Float32andFloat64datatypes.- null_value
 A string representing null values (defaulting to the empty string).
- quote_style{‘necessary’, ‘always’, ‘non_numeric’, ‘never’}
 Determines the quoting strategy used.
necessary (default): This puts quotes around fields only when necessary. They are necessary when fields contain a quote, separator or record terminator. Quotes are also necessary when writing an empty record (which is indistinguishable from a record with one empty field). This is the default.
always: This puts quotes around every field. Always.
never: This never puts quotes around fields, even if that results in invalid CSV data (e.g.: by not quoting strings containing the separator).
non_numeric: This puts quotes around all fields that are non-numeric. Namely, when writing a field that does not parse as a valid float or integer, then quotes will be used even if they aren`t strictly necessary.
Examples
>>> import pathlib >>> >>> df = pl.DataFrame( ... { ... "foo": [1, 2, 3, 4, 5], ... "bar": [6, 7, 8, 9, 10], ... "ham": ["a", "b", "c", "d", "e"], ... } ... ) >>> path: pathlib.Path = dirpath / "new_file.csv" >>> df.write_csv(path, separator=",")