dask.dataframe.Index.to_csv
dask.dataframe.Index.to_csv¶
- Index.to_csv(filename, **kwargs)¶
将 Dask DataFrame 存储为 CSV 文件
每个分区将创建一个文件名。您可以通过多种方式指定文件名。
使用通配符字符串:
>>> df.to_csv('/path/to/data/export-*.csv')
The * 将被替换为递增序列 0, 1, 2, …
/path/to/data/export-0.csv /path/to/data/export-1.csv
使用一个 globstring 和一个
name_function=
关键字参数。name_function 函数应接受一个整数并生成一个字符串。name_function 生成的字符串必须保持其各自分区索引的顺序。>>> from datetime import date, timedelta >>> def name(i): ... return str(date(2015, 1, 1) + i * timedelta(days=1))
>>> name(0) '2015-01-01' >>> name(15) '2015-01-16'
>>> df.to_csv('/path/to/data/export-*.csv', name_function=name)
/path/to/data/export-2015-01-01.csv /path/to/data/export-2015-01-02.csv ...
你也可以提供一个显式的路径列表:
>>> paths = ['/path/to/data/alice.csv', '/path/to/data/bob.csv', ...] >>> df.to_csv(paths)
您还可以提供一个目录名称:
>>> df.to_csv('/path/to/data')
文件将被编号为 0, 1, 2, (以此类推),并以 ‘.part’ 为后缀:
/path/to/data/0.part /path/to/data/1.part
- 参数
- dfdask.DataFrame
要保存的数据
- 文件名字符串或列表
绝对或相对文件路径。使用
s3://
等协议前缀可保存到远程文件系统。- 单文件bool, 默认 False
是否将所有内容保存到一个CSV文件中。在单文件模式下,每个分区都会附加到指定的CSV文件末尾。
- 编码字符串,默认 ‘utf-8’
表示要在输出文件中使用的编码的字符串。
- 模式str, 默认值为 ‘w’
Python 文件模式。默认是 ‘w’(或 ‘wt’),用于以文本模式写入新文件或覆盖现有文件。’a’(或 ‘at’)将以文本模式追加到现有文件,或者如果不存在则创建新文件。参见
open()
。- name_function可调用对象,默认为 None
接受一个整数(分区索引)并生成一个字符串以替换给定文件名glob字符串中的星号。应保持分区的字典顺序。当
single_file
为 True 时不支持。- 压缩字符串,可选
一个表示要在输出文件中使用的压缩的字符串,允许的值是 ‘gzip’, ‘bz2’, ‘xz’,仅在第一个参数是文件名时使用。
- 计算bool, 默认 True
如果为 True,立即执行。如果为 False,返回一组延迟对象,这些对象可以在稍后计算。
- 存储选项dict
传递给后端文件系统类的参数。
- header_first_partition_onlybool, 默认 None
如果设置为 True,则仅在第一个输出文件中写入标题行。默认情况下,在多文件模式下(
single_file
为 False),标题会写入所有分区;在单文件模式下(single_file
为 True),标题仅写入一次。在单文件模式下必须为 True。- compute_kwargsdict, 可选
传递给计算方法的选项
- kwargsdict, 可选
传递给
pandas.DataFrame.to_csv()
的额外参数。
- 返回
- 如果文件名是即时计算的,它们将被写入。
- 如果没有,与写入文件相关的延迟任务。
- Raises
- ValueError
如果
header_first_partition_only
设置为 False 或当single_file
为 True 时指定了name_function
。