Python pandas.DataFrame.to_csv函数方法的使用

Pandas是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。本文主要介绍一下Pandas中pandas.DataFrame.to_csv方法的使用。

DataFrame.to_csv(path_or_buf=None, sep=',', na_rep='', float_format=None, columns=None, header=True, index=True, index_label=None, mode='w', encoding=None, compression='infer', quoting=None, quotechar='"', line_terminator=None, chunksize=None, date_format=None, doublequote=True, escapechar=None, decimal='.', errors='strict') [source]

对象写入一个逗号分隔值(csv)文件。

版本0.24.0中的更改:更改了系列参数的顺序

参数:

path_or_buf :strfile handle

默认为 None

文件路径或对象,如果没有提供,

结果将作为字符串返回。

如果一个文件对象被传递,

它应该用newline= "来打开,

禁用通用换行符。

在版本0.24.0中更改:以前为Series命名为“path”

sep :str,默认‘,’

长度为1的字符串。输出文件的字段分隔符。

na_rep :str,默认为 ‘’

缺失的数据表示。

float_format str,默认为 None

浮点数的格式字符串。

columns sequence, 可选的

要写的列。

header :bool str的list, 默认为True

写出列名。如果给定了字符串列表,

则假定它是列名的别名。

在版本0.24.0中更改:以前对于Series默认为False

index :bool, 默认为 True

写行名(索引)。

index_label strsequence

False, 默认为 None

列标签索引列(s)(如果需要的话)。

如果没有给出,并且头和索引为真,

则使用索引名。

如果对象使用多索引,

则应该给出一个序列。

如果为False,不要打印索引名称的字段。

使用index_label=False在R中更容易导入。

mode :str

Python写入模式,默认为'w'

encoding :str,可选

表示要在输出文件中使用的编码的字符串,

默认为'utf-8'

compression :strdict, 默认为 ‘infer’

如果为str,表示压缩模式。

如果是dict, 则 ' method '中的值是压缩模式

压缩模式可以是下列任何值:

{' infer ', ' gzip ', ' bz2 ', ' zip ', ' xz ', None}

如果压缩模式是' infer '

并且path_or_buf是类路径的,

那么从以下扩展中检测压缩模式: ‘.gz’, ‘.bz2’, ‘.zip’ 

‘.xz’

(否则不压缩)。

如果给定的dictmode

{' zip '、' gzip '、' bz2 '}

或推断为上述选项之一,

则其他项作为附加压缩选项传递。

在版本1.0.0中更改:现在可以是一个dict

如果压缩模式是' zip '

则键' method '作为压缩模式,

其他条目作为附加压缩选项。

在版本1.1.0中更改:支持在压缩模式

‘gzip’‘bz2’以及‘zip’

中以键的形式传递压缩选项。

quoting :可选常量从csv模块

默认为csv.QUOTE_MINIMAL

如果您设置了一个float_format

那么float将被转换为字符串,从而转换为csv

QUOTE_NONNUMERIC将把它们视为非数值。

quotechar :str, 默认为 ‘”’

长度为1的字符串。用于引用字段的字符。

line_terminator str, 可选

输出文件中要使用的换行字符或字符序列。

默认os.linesep,它取决于调用该方法的操作系统(例如,

linux中是' n ',在Windows中是' rn ')。

在版本0.24.0中进行了更改。

chunksize :int None

每次要写入的行。

date_format :str, 默认为 None

日期时间对象的格式字符串。

doublequote bool, 默认为 True

控制字段内引用quotechar

escapechar :str, 默认为 None

长度为1的字符串。 在适当时用于转义sepquotechar的字符。

decimal str, 默认为 ‘.’

可识别为十进制分隔符的字符。例如,使用‘.’表示欧洲数据。

errors str, 默认为 ‘strict’

指定如何处理编码和解码错误。有关完整的选项列表,

请参阅open()errors参数。

新版本1.1.0。

返回值:

None str

如果path_or_bufNone

则返回结果csv格式为字符串。

否则返回None

例子

>>> df = pd.DataFrame({'name': ['Raphael', 'Donatello'],
...                    'mask': ['red', 'purple'],
...                    'weapon': ['sai', 'bo staff']})
>>> df.to_csv(index=False)
'name,mask,weapon\nRaphael,red,sai\nDonatello,purple,bo staff\n'

创建包含‘out.zip’ 的 ‘out.csv’

>>> compression_opts = dict(method='zip',
...                         archive_name='out.csv')  
>>> df.to_csv('out.zip', index=False,
...           compression=compression_opts)  

推荐阅读
cjavapy编程之路首页