pandas.DataFrame.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.ZipFilegzip.GzipFilebz2.BZ2Filezstandard.ZstdCompressorlzma.LZMAFiletarfile.TarFilecompression={'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。 也可以看看 read_csv将 CSV 文件加载到 DataFrame 中。 to_excel将 DataFrame 写入 Excel 文件。 例子 创建包含“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')