将 Pandas DataFrame 转换为 CSV

2024 年 8 月 29 日 | 4 分钟阅读

Pandas 的 to_csv() 函数用于将 DataFrame 转换为 CSV 数据。 要将 CSV 数据写入文件,我们可以简单地将文件对象传递给该函数。 否则,CSV 数据以字符串格式返回。

语法

参数

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: 它指的是一个 str 值,用于压缩以下值中的模式{'infer', 'gzip', 'bz2', 'zip', 'xz', None}。 如果 infer 并且 path_or_buf 是类路径,则它从扩展名: '.gz', '.bz2', '.zip' or '.xz' 检测压缩,否则不会发生压缩。

quoting: 它是从 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 的默认值为 None

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

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

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

返回值

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

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

输出

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 输出文件中的空值或缺失数据表示形式

示例

输出

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 输出的分隔符。

输出

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