个性化阅读
专注于IT技术分析

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或文件句柄。基本上, 它定义了文件或对象的路径。默认值为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

赞(0) 打赏
未经允许不得转载:srcmini » Pandas DataFrame如何转换为CSV?详细操作————
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏