pandas.Series.to_csv #
- 系列。to_csv ( path_or_buf = None , * , sep = ',' , na_rep = '' , float_format = None , columns = None , header = True , index = True , index_label = None , mode = 'w' ,编码= None ,压缩= 'infer'、引用= None、 quotechar = '"'、 lineterminator = None、 chunksize = None、 date_format = None、双引号= True、 escapechar = None、小数= '.'、 error = 'strict'、 storage_options = None)[来源]#
将对象写入逗号分隔值 (csv) 文件。
- 参数:
- path_or_buf str,路径对象,类文件对象,或 None,默认 None
字符串、路径对象(实现 os.PathLike[str])或实现 write() 函数的类文件对象。如果没有,则结果以字符串形式返回。如果传递非二进制文件对象,则应使用newline=''打开它,禁用通用换行符。如果传递二进制文件对象,模式可能需要包含'b'。
- sep str,默认 ','
长度为 1 的字符串。输出文件的字段分隔符。
- na_rep str,默认 ''
缺少数据表示。
- float_format str,可调用,默认 None
浮点数的格式字符串。如果给出了 Callable,它优先于其他数字格式化参数,例如十进制。
- 列顺序,可选
要写的专栏。
- header bool 或 str 列表,默认 True
写出列名称。如果给出了字符串列表,则假定它是列名称的别名。
- 索引bool,默认 True
写入行名称(索引)。
- index_label str 或序列,或 False,默认 None
如果需要,索引列的列标签。如果没有给出,并且 header和index为 True,则使用索引名称。如果对象使用 MultiIndex,则应给出序列。如果为 False,则不打印索引名称字段。使用index_label=False 可以更轻松地在 R 中导入。
- 模式{'w', 'x', 'a'}, 默认 'w'
转发到open(mode=)或fsspec.open(mode=)来控制文件打开。典型值包括:
'w',首先截断文件。
'x',独占创建,如果文件已存在则失败。
'a',追加到文件末尾(如果存在)。
- 编码str,可选
表示输出文件中使用的编码的字符串,默认为“utf-8”。如果path_or_buf 是非二进制文件对象,则不支持编码。
- 压缩str 或 dict,默认 'infer'
用于输出数据的动态压缩。如果“infer”和“path_or_buf”是类似路径,则检测以下扩展名的压缩:“.gz”、“.bz2”、“.zip”、“.xz”、“.zst”、“.tar” 、“.tar.gz”、“.tar.xz”或“.tar.bz2”(否则不压缩)。设置
None
为不压缩。也可以是键设置为 { , , , , , }'method'
之一的字典,其他键值对分别转发到 , , , ,或 。例如,可以传递以下内容以加快压缩速度并创建可重现的 gzip 存档: .'zip'
'gzip'
'bz2'
'zstd'
'xz'
'tar'
zipfile.ZipFile
gzip.GzipFile
bz2.BZ2File
zstandard.ZstdCompressor
lzma.LZMAFile
tarfile.TarFile
compression={'method': 'gzip', 'compresslevel': 1, 'mtime': 1}
1.5.0 版本中的新增功能:添加了对.tar文件的支持。
如果压缩模式为“zip”,则可能是一个字典,其中键“method”作为压缩模式,其他条目作为附加压缩选项。
压缩模式“gzip”、“bz2”、“zstd”和“zip”支持将压缩选项作为 dict 中的键传递。
- 从 csv 模块引用可选常量
默认为 csv.QUOTE_MINIMAL。如果您设置了float_format ,则浮点数将转换为字符串,因此 csv.QUOTE_NONNUMERIC 会将它们视为非数字。
- quotechar str,默认 '"'
长度为 1 的字符串。用于引用字段的字符。
- 行终止符str,可选
要在输出文件中使用的换行符或字符序列。默认为os.linesep,这取决于调用此方法的操作系统(对于 Linux 为 '\n',对于 Windows 为 '\r\n')。
在版本 1.5.0 中进行了更改:以前是 line_terminator,为了与 read_csv 和标准库“csv”模块保持一致而进行了更改。
- chunksize int 或 None
一次写入的行。
- date_format str,默认无
日期时间对象的格式字符串。
- 双引号bool,默认 True
控制字段内quotechar的引用。
- escapechar str,默认无
长度为 1 的字符串。适当时用于转义sep和quotechar 的字符。
- 十进制str,默认 '.'
被识别为小数点分隔符的字符。例如,使用“,”表示欧洲数据。
- 错误str,默认“严格”
指定如何处理编码和解码错误。
open()
有关选项的完整列表,请参阅错误参数。- storage_options字典,可选
对于特定存储连接有意义的额外选项,例如主机、端口、用户名、密码等。对于 HTTP(S) URL,键值对将
urllib.request.Request
作为标头选项转发。对于其他 URL(例如以“s3://”和“gcs://”开头),键值对将转发到fsspec.open
。请参阅fsspec
和urllib
了解更多详细信息,有关存储选项的更多示例,请参阅此处。
- 返回:
- 无或 str
如果 path_or_buf 为 None,则以字符串形式返回生成的 csv 格式。否则返回 None。
例子
创建包含“df”但不带索引的“out.csv”
>>> df = pd.DataFrame({'name': ['Raphael', 'Donatello'], ... 'mask': ['red', 'purple'], ... 'weapon': ['sai', 'bo staff']}) >>> df.to_csv('out.csv', index=False)
创建包含“out.csv”的“out.zip”
>>> df.to_csv(index=False) 'name,mask,weapon\nRaphael,red,sai\nDonatello,purple,bo staff\n' >>> compression_opts = dict(method='zip', ... archive_name='out.csv') >>> df.to_csv('out.zip', index=False, ... compression=compression_opts)
要将 csv 文件写入新文件夹或嵌套文件夹,您首先需要使用 Pathlib 或 os 创建它:
>>> from pathlib import Path >>> filepath = Path('folder/subfolder/out.csv') >>> filepath.parent.mkdir(parents=True, exist_ok=True) >>> df.to_csv(filepath)
>>> import os >>> os.makedirs('folder/subfolder', exist_ok=True) >>> df.to_csv('folder/subfolder/out.csv')