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 :str 或 file 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 :str 或 sequence, 

或 False, 默认为 None

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

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

则使用索引名。

如果对象使用多索引,

则应该给出一个序列。

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

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

mode :str

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

encoding :str,可选

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

默认为'utf-8'。

compression :str 或 dict, 默认为 ‘infer’

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

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

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

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

如果压缩模式是' infer ',

并且path_or_buf是类路径的,

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

或 ‘.xz’。

(否则不压缩)。

如果给定的dict和mode是

{' 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的字符串。 在适当时用于转义sep和quotechar的字符。

decimal :str, 默认为 ‘.’

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

errors :str, 默认为 ‘strict’

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

请参阅open()的errors参数。

新版本1.1.0。

返回值:

None 或 str

如果path_or_buf为None,

则返回结果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)  

推荐文档

相关文档

大家感兴趣的内容

随机列表