Pandas DataFrame转CSV

Pandas DataFrame转CSV 首页 / Pandas入门教程 / Pandas DataFrame转CSV

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 file handle 。默认值为 None ,如果传递了 None 值,则它将返回一个字符串值。

sep                          -  它是一个 string 值,由长度为1的字符串组成。默认值为逗号(,)。

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

float_format       -  它还包含一个 string 值,该值负责格式化浮点数的字符串。

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

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

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

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

mode                       -  它是指用于写入模式的字符串值。默认值为 w。

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

compression        - 它是一个 str 值,用于在以下值{'infer','gzip','bz2','zip','xz',None}。它会检测来自以下扩展名的压缩:'.gz','.bz2','.zip'或'.xz',如果infer path_or_buf 是path-like的,否则不会发生压缩。

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

quotechar              -  它是指长度为1的 str 值。它是用于引用字段的字符。

line_terminator  -  这是一个可选参数,它引用一个字符串值。其默认值设置为 os.linesep ,这主要取决于操作系统。

chunksize               -  它由 None integer 值组成,并定义当前要写入的行。

date_format          -   它包含 str 值,用于格式化datetime对象的字符串。 date_format 的默认值为

doubleequote        -  它是一个布尔值,其默认值为 True 。它主要用于控制字段内 quotechar 的报价。

escapechar             -  它由长度为1的 string 值组成。基本上,它是用于转义 sep quotechar 。

decimal                    -  它包含一个字符串值,该值将字符标识为小数点分隔符。 

返回值

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

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

import pandas as pd
data = {'Name': ['Learnfk', '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   Learnfk  101      Python
1  Parker  102  JavaScript

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

示例2:以下示例显示CSV输出文件中的数据表示形式为空或丢失:

例子:

import pandas as pd
data = {'Name': ['Learnfk', '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   Learnfk  101         NaT
1  Parker  NaT  JavaScript

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

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

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

import pandas as pd
data = {'Name': ['Learnfk', '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   Learnfk  101    Python
1  Parker  NaT  JavaScript
  |Name|ID|Language
0|Learnfk|101|Python
1|Parker||JavaScript

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

推荐系统三十六式 -〔刑无刀〕

Java核心技术面试精讲 -〔杨晓峰〕

重学前端 -〔程劭非(winter)〕

编译原理实战课 -〔宫文学〕

Python自动化办公实战课 -〔尹会生〕

MySQL 必知必会 -〔朱晓峰〕

零基础入门Spark -〔吴磊〕

大厂广告产品心法 -〔郭谊〕

云时代的JVM原理与实战 -〔康杨〕

好记忆不如烂笔头。留下您的足迹吧 :)