polars.DataFrame.write_csv#
- DataFrame.write_csv(
- file: str | Path | IO[str] | IO[bytes] | 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_scientific: bool | None = None,
- float_precision: int | None = None,
- null_value: str | None = None,
- quote_style: CsvQuoteStyle | None = None,
- storage_options: dict[str, Any] | None = None,
- credential_provider: CredentialProviderFunction | Literal['auto'] | None = 'auto',
- retries: int = 2,
写入逗号分隔值(CSV)文件。
- Parameters:
- file
文件路径或可写的类文件对象,结果将被写入其中。 如果设置为
None(默认值),则输出将作为字符串返回。- include_bom
是否在CSV输出中包含UTF-8 BOM。
- include_header
是否在CSV输出中包含标题。
- separator
用此符号分隔CSV字段。
- line_terminator
用于结束每一行的字符串。
- quote_char
用作引用字符的字节。
- batch_size
每个线程将处理的行数。
- datetime_format
一个格式字符串,使用由 chrono Rust crate 定义的说明符。如果未指定格式,则默认的分数秒精度将从帧的Datetime列中找到的最大时间单位推断(如果有的话)。
- date_format
一个格式字符串,使用由 chrono Rust crate 定义的说明符。
- time_format
一个格式字符串,使用由 chrono Rust crate 定义的说明符。
- float_scientific
是否始终使用科学计数法(true),从不使用(false),或自动选择(None)用于
Float32和Float64数据类型。- float_precision
要写入的小数位数,适用于
Float32和Float64数据类型。- null_value
表示空值的字符串(默认为空字符串)。
- quote_style{‘necessary’, ‘always’, ‘non_numeric’, ‘never’}
确定使用的引用策略。
必要的(默认):仅在必要时在字段周围加上引号。当字段包含引号、分隔符或记录终止符时,引号是必要的。在写入空记录时(这与具有一个空字段的记录无法区分),引号也是必要的。这是默认设置。
always: 这会在每个字段周围加上引号。总是如此。
never: 这永远不会在字段周围加上引号,即使这会导致无效的CSV数据(例如:不引用包含分隔符的字符串)。
non_numeric: 这会在所有非数字字段周围加上引号。 也就是说,当写入一个无法解析为有效浮点数 或整数的字段时,即使严格来说不需要,也会使用引号。
- storage_options
指示如何连接到云提供商的选项。
目前支持的云提供商有AWS、GCP和Azure。 查看支持的密钥请点击这里:
如果未提供
storage_options,Polars将尝试从环境变量中推断信息。- credential_provider
提供一个可以被调用的函数来提供云存储凭证。该函数预期返回一个包含凭证键的字典以及一个可选的凭证过期时间。
警告
此功能被视为不稳定。它可能会在任何时候更改,而不被视为破坏性更改。
- retries
如果访问云实例失败,重试次数。
示例
>>> 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=",")