Pandas的to_csv()函数用于将DataFrame转换为CSV数据。要将CSV数据写入文件,我们只需将文件对象传递给函数。否则,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='.')  

参数:

path_or_buf: 它是str文件句柄。基本上,它定义了文件或对象的路径。默认值是None,如果传递None值,则返回字符串值。

如果我们传递文件对象,它应该以newline="和禁用通用换行符打开。

sep: 它是一个字符串值,包含长度为1的字符串。它的默认值是逗号,)。

na_rep: 它是表示空值或缺失值的字符串值。空字符串是默认值。

float_format: 它还包含一个负责为浮点数格式化字符串的字符串值。

columns: 这是一个可选参数,用于指定在CSV输出中需要包含的列的序列。

header: 它通常包含一个布尔值或一个字符串列表。如果将其值设置为False,则列名不会写入输出。默认值为True。

如果我们将一个字符串列表作为输入传递,它通常会在输出中写入列名。文件的字符串列表的长度应与写入CSV文件中的列数相同。

index: 如果值设置为True,则索引包含在CSV数据中。否则,索引值不会写入CSV输出。

index_label: 它包含一个str值或一个序列,用于指定索引的列名。默认值为None。

mode: 它是一个用于写入模式的字符串值。默认值是w.

encoding: 它是一个可选参数,包含表示输出文件中使用的编码的字符串值。编码的默认值是UTF-8

compression: 它是一个字符串值,用于在以下值之间压缩模式{'infer', 'gzip', 'bz2', 'zip', 'xz', None}。如果inferpath_or_buf是类似路径的,则从扩展名检测压缩:'.gz','.bz2','.zip'或'.xz',否则不进行压缩。

quoting: 它是一个可选参数,定义为csv模块的常数。其默认值为csv.QUOTE_MINIMAL。如果设置了float_format,则浮点值将被转换为字符串,并且csv.QUOTE_NONNUMERIC将被视为非数字值。

quotechar: 它是一个长度为1的字符串值。它是用于引用字段的字符。

line_terminator: 它是一个可选参数,指的是一个字符串值。它的主要任务是终止行。这是要在输出文件中使用的换行字符。其默认值设置为os.linesep,主要取决于操作系统。调用一个个体方法来定义操作系统('n'用于linux,'rn'*用于*Windows)。

chunksize: 它包含None整数值,并定义当前时间要写入的行数。

date_format: 它包含str值,并用于为日期时间对象格式化字符串。date_format的默认值是None

doublequote: 它包含一个布尔值,默认值为True。它主要用于控制字段内quotechar的引号。

escapechar: 它包含一个长度为1的字符串值。基本上,它是用于转义sepquotechar的字符。escapechar的默认值是None

decimal: 它包含一个字符串值,用于标识一个字符作为小数分隔符。例如:对于欧洲数据使用''。

返回:

它返回strNone值。如果名为path_or_buf的参数值为None,则返回生成的csv格式作为字符串。否则,返回None。

示例1: 下面的示例将DataFrame转换为CSV字符串:

import pandas as pd  
data = {'Name': ['Smith', 'Parker'], 'ID': [101, 102], 'Language': ['Python', 'JavaScript']}  
info = pd.DataFrame(data)  
print('DataFrame Values:\n', info)  
# default CSV  
csv_data = info.to_csv()  
print('\nCSV String Values:\n', csv_data)  

输出:

DataFrame Values:
     Name   ID    Language
0   Smith  101      Python
1  Parker  102  JavaScript

CSV String Values:
     ,Name,ID,Language
0   ,Smith,101,Python
1   ,Parker,102,JavaScript

示例2: 下面的示例显示CSV输出文件中的空值或缺失数据表示:

import pandas as pd  
data = {'Name': ['Smith', 'Parker'], 'ID': [101, pd.NaT], 'Language': [pd.NaT, 'JavaScript']}  
info = pd.DataFrame(data)  
print('DataFrame Values:\n', info)  
csv_data = info.to_csv()  
print('\nCSV String Values:\n', csv_data)  
csv_data = info.to_csv(na_rep="None")  
print('CSV String with Null Data Values:\n', csv_data)  

输出:

DataFrame Values:
      Name   ID    Language
0   Smith  101         NaT
1  Parker  NaT  JavaScript

CSV String Values:
 ,Name,ID,Language
0,Smith,101,
1,Parker,,JavaScript

CSV String with Null Data Values:
  ,Name,ID,Language
0,Smith,101,None
1,Parker,None,JavaScript

示例3: 下面的示例指定CSV输出的分隔符。

import pandas as pd  
data = {'Name': ['Smith', 'Parker'], 'ID': [101, pd.NaT], 'Language': [Python, 'JavaScript']}  
info = pd.DataFrame(data)  
print('DataFrame:\n', info)  
csv_data = info.to_csv(sep='|')  
print(csv_data)  

输出:

DataFrame:
      Name   ID    Language
0   Smith  101    Python
1  Parker  NaT  JavaScript
  |Name|ID|Language
0|Smith|101|Python
1|Parker||JavaScript

标签: Pandas, Pandas教程, Pandas库, Pandas基础, Pandas学习, Pandas使用, Pandas指南, Pandas入门教程, Pandas模块, Pandas数据库, Pandas实战教程, Pandas用法总结, Pandas文档