本文概述
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的字符串组成。默认值为comma(, )。
na_rep:它是指表示空值或缺失值的字符串值。空字符串是默认值。
float_format:它还包含一个字符串值, 该字符串值负责格式化浮点数的字符串。
columns:这是一个可选参数, 它引用一个序列来指定需要包含在CSV输出中的列。
标头:通常由布尔值或字符串列表组成。如果其值设置为False, 则列名称不会写入输出中。它的默认值为True。
如果我们将字符串列表作为输入传递, 则通常会将列名称写入输出中。文件列表的长度应与CSV文件中写入的列数相同。
index:如果将值设置为True, 则CSV数据中将包含索引。否则, 索引值不会写入CSV输出中。
index_label:它包含一个str值或一个序列, 用于指定索引的列名。默认值为”无”。
mode:它是指用于写入模式的字符串值。默认值为w。
encoding:这是一个可选参数, 由字符串值组成, 该字符串值表示在输出文件中使用的编码。编码的默认值为UTF-8。
压缩:它是一个str值, 用于压缩以下值{‘infer’, ‘gzip’, ‘bz2’, ‘zip’, ‘xz’, 无}中的模式。如果infer并且path_or_buf与路径类似, 它将从以下扩展名中检测压缩:’.gz’, ‘。bz2’, ‘。zip’或’.xz’, 否则不会发生压缩。
引用:这是一个可选参数, 在csv模块中定义为常量。其默认值为csv.QUOTE_MINIMAL。如果设置了float_format, 则浮点值将转换为字符串, 并且csv.QUOTE_NONNUMERIC将被视为非数字值。
quotechar:引用长度为1的str值。它是用于引用字段的字符。
line_terminator:这是一个可选参数, 它引用一个字符串值。它的主要任务是终止线路。这是换行符, 将在输出文件中使用。其默认值设置为os.linesep, 这主要取决于操作系统。调用一个单独的方法来定义操作系统(对于linux为’n’, 对于’Windows’为’rn’)。
chunksize:由None或整数值组成, 并定义当前要写入的行。
date_format:包含str值, 用于格式化datetime对象的字符串。 date_format的默认值为”无”。
doublequote:它包含一个布尔值, 其默认值为True。它主要用于控制字段内quotechar的报价。
escapechar:它包含一个长度为1的字符串值。基本上, 它是一个用于转义sep和quotechar的字符。 escapechar的默认值为”无”。
十进制:由一个字符串值组成, 该字符串值将字符标识为十进制分隔符。例如:对欧洲数据使用’, ‘。
Return
它返回str或None值。如果名为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
评论前必须登录!
注册