python中pandas.read_csv()函数的深入讲解

这里将更新最新的最全面的read_csv()函数功能以及参数介绍,参考资料来源于官网

Posted in Python onMarch 29, 2021

pandas库简介

官方网站里详细说明了pandas库的安装以及使用方法,在这里获取最新的pandas库信息,不过官网仅支持英文。

pandas是一个Python包,并且它提供快速,灵活和富有表现力的数据结构。这样当我们处理"关系"或"标记"的数据(一维和二维数据结构)时既容易又直观。

pandas是我们运用Python进行实际、真实数据分析的基础,同时它是建立在NumPy之上的。

csv文件格式简介

函数介绍

pandas.csv() 函数将逗号分离的值 (csv) 文件读入数据框架。还支持可选地将文件读入块或将其分解。

函数原型

源文件

pandas.read_csv(filepath_or_buffer, sep=, delimiter=None, header=‘infer', names=None, index_col=None, usecols=None, squeeze=False, prefix=None, mangle_dupe_cols=True, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skipinitialspace=False, skiprows=None, skipfooter=0, nrows=None, na_values=None, keep_default_na=True, na_filter=True, verbose=False, skip_blank_lines=True, parse_dates=False, infer_datetime_format=False, keep_date_col=False, date_parser=None, dayfirst=False, cache_dates=True, iterator=False, chunksize=None, compression=‘infer', thousands=None, decimal='.', lineterminator=None, quotechar='"', quoting=0, doublequote=True, escapechar=None, comment=None, encoding=None, dialect=None, error_bad_lines=True, warn_bad_lines=True, delim_whitespace=False, low_memory=True, memory_map=False, float_precision=None, storage_options=None

函数参数以及含义

输入

参数名 功能以及含义
filepath_or_buffer 字符串。任何有效的字符串路径都可以,网址也行。
sep 字符串,表示分隔符,默认为',' .。一个字符及以上都可以,注意如果是转义字符要加''
delimiter 字符串,sep的别名,默认None
header int或者int列表,默认由推断出来。这是用于规定列名的行号。
names 类似于数组结构,选择性使用。这是要使用的列名称列表,与header共同使用。
index_col 整数或者字符串或者整数/字符串列表。指定用作的行标签的列。
usecols 列表,可用可不用。功能是返回列的子集。
squeeze 布尔值,默认为False。如果解析的数据仅包含一列,则返回一个Series
prefix 字符串,选择性使用。没有标题时要添加到列号的前缀
mangle_dupe_cols 布尔值,默认为True。重复的列将被指定为“ X”,“ X.1”,……“ X.N”,而不是“ X”……“ X”。如果列中的名称重复,则False将导致数据被覆盖。
dtype 类型名称或者类型列的字典,选择性使用。数据或列的数据类型。
engine {‘c', ‘python'},选择性使用。要使用的解析器引擎。C引擎速度更快,而python引擎当前功能更完善。
converters 字典,选择性使用。转换器,用于转换某些列中的值的函数的字典。键可以是整数或列标签。
true_value 列表,选择性使用。视为True的值
false_values 列表,选择性使用。视为False的值
skipinitialspace 布尔值,默认为False。在定界符后跳过空格。
skiprows 列表或者整数,选择性使用。在文件开始处要跳过的行号(索引为0)或要跳过的行数(整数)。
skipfooter 整数,默认为0。要跳过的文件底部的行数(不支持engine =‘c')。
nrows 整数,选择性使用。要读取的文件行数。对于读取大文件很有用。
na_values 标量,字符串,类似列表的字典,选择性使用。识别为NA / NaN的其他字符串。如果dict通过,则为特定的每列NA值。默认情况下,以下值解释为NaN:'','#N / A','#N / AN / A','#NA','-1.#IND','-1.#QNAN', ‘-NaN','-nan',‘1.#IND',‘1.#QNAN','',‘N / A',‘NA',‘NULL',‘NaN',‘n / a',‘nan',‘null'。
keep_default_na 布尔值,默认为True。解析数据时是否包括默认的NaN值。
na_filter 布尔值,默认为True。检测缺失值标记(空字符串和na_values的值)。请注意,如果将na_filter传递为False,则将忽略keep_default_na和 na_values参数。
verbose 布尔值,默认为False。指示放置在非数字列中的NA值的数量。
skip_blank_lines 布尔值,默认为True。如果为True,跳过空白行,并且不解释为NaN值。
parse_dates 布尔值,整数列表,名称列表,列表或字典的列表。默认为False。功能是解析为时间。
infer_datetimes_format 布尔值,默认为False。如果启用True和parse_dates,则pandas将尝试推断列中日期时间字符串的格式,并且如果可以推断出日期格式,就会切换到更快的解析它们的方法。
keep_date_col 布尔值,默认为False。如果True和parse_dates指定合并多个列,则保留原始列。
date_parser 函数,选择性使用。用于将字符串列序列转换为日期时间实例数组的函数。
dayfirst 布尔值,默认为False。DD / MM格式的日期,国际和欧洲格式。
cache_dates 布尔值,默认为True。如果为True,则使用唯一的转换日期缓存来应用datetime转换。
iterator 布尔值,默认为False。返回TextFileReader对象以进行迭代或使用获取块 get_chunk()。
chunksize 整数,选择性使用。返回TextFileReader对象以进行迭代。
compression {‘infer', ‘gzip', ‘bz2', ‘zip', ‘xz', None},默认为'infer'。用于对磁盘数据进行即时解压缩。设置为“无”将不进行解压缩。
thousands 字符串,选择性使用。千位分隔符。
decimal 字符串,默认为'.'。识别为小数点的字符(例如,对于欧洲数据,请使用“,”)。
lineterminator 长度为1的字符串,选择性使用。用于将文件分成几行的字符。仅对C解析器有效。
quotechar 长度为1的字符串,选择性使用。用于表示引用项目的开始和结束的字符。
quoting 整数或者csv.QUOTE_* 实例,默认为0。每个csv.QUOTE_*常量的控制字段引用行为。使用QUOTE_MINIMAL(0),QUOTE_ALL(1),QUOTE_NONNUMERIC(2)或QUOTE_NONE(3)中的一种。
doublequote 布尔值,默认为True。如果指定quotechar而未使用引号QUOTE_NONE,则指示是否将一个字段内的两个连续的quotechar元素解释为单个quotechar元素。
escapechar 长度为1的字符串,选择性使用。 一字符字符串,用于转义其他字符。
comment 字符串,选择性使用。指示不应分析行的其余部分。如果在一行的开头找到该行,则将完全忽略该行。此参数必须是单个字符。
encoding 字符串,选择性使用。读/写时用于UTF的编码(例如'utf-8')。
dialect 字符串或者csv.Dialect,选择性使用。如果提供的话,该参数将覆盖为以下参数的值(默认或不):delimiter, doublequote, escapechar, skipinitialspace, quotechar, and quoting。
error_bad_lines 布尔值,默认为True。 默认情况下,具有太多字段的行(例如,带有太多逗号的csv行)将引发异常,并且不会返回任何DataFrame。如果为False,则这些“坏行”将从返回的DataFrame中删除。
warn_bad_lines 布尔值,默认为True。如果error_bad_lines为False,而warn_bad_lines为True,则将为每个“坏行”输出警告。
delim_whiterspace 布尔值,默认为False。指定是否将空格(例如或)用作分隔符。
low_memory 布尔值,默认为True。在内部对文件进行分块处理,从而在解析时减少了内存使用。
memory_map 布尔值,默认为False。如果为filepath_or_buffer提供了文件路径,则将文件对象直接映射到内存中,然后直接从那里访问数据。使用此选项可以提高性能,因为不再有任何I / O开销。
float_precision 字符串,选择性使用。指定C引擎应将哪个转换器用于浮点值。
storage_option 字典,选择性使用。解析特殊的URL。如果为该参数提供非fsspec URL,则会引发错误。

返回

DataFrame:将逗号分隔值(csv)文件读取到DataFrame中。

函数使用实例

终端使用范例:

>>>import pandas as pd
>>>pd.read_csv('data.csv')

代码行使用范例

#导入pandas库,并取别名为pd
import pandas as pd
#books.csv与项目不在同一文件夹下使用绝对路径,分隔符为';',出错的行直接跳过,编码方式使用"latin-1",变量books是DataFrame数据结构
books = pd.read_csv('D:\coder\python_program\Books.csv', sep=';', error_bad_lines = False, encoding="latin-1")
#查看books的行和列
print(books.shape)
#查看
print(list(books.columns))
print(books.head())

 

Python 相关文章推荐
通过C++学习Python
Jan 20 Python
Python使用reportlab将目录下所有的文本文件打印成pdf的方法
May 20 Python
Django学习笔记之Class-Based-View
Feb 15 Python
Python设计模式之工厂模式简单示例
Jan 09 Python
Pycharm代码无法复制,无法选中删除,无法编辑的解决方法
Oct 22 Python
python同时遍历数组的索引和值的实例
Nov 15 Python
详解用python写一个抽奖程序
May 10 Python
利用python实现短信和电话提醒功能的例子
Aug 08 Python
Django 实现xadmin后台菜单改为中文
Nov 15 Python
PyTorch中的padding(边缘填充)操作方式
Jan 03 Python
python实现暗通道去雾算法的示例
Sep 27 Python
详解Python中下划线的5种含义
Jul 15 Python
python编写函数注意事项总结
Mar 29 #Python
python基于tkinter制作无损音乐下载工具
Python requests库参数提交的注意事项总结
Python爬虫爬取全球疫情数据并存储到mysql数据库的步骤
Python爬虫数据的分类及json数据使用小结
Mar 29 #Python
python re模块和正则表达式
Mar 24 #Python
opencv实现图像几何变换
You might like
PHP中nowdoc和heredoc使用需要注意的一点
2014/03/21 PHP
PHP中echo和print的区别
2014/08/28 PHP
php树型类实例
2014/12/05 PHP
php魔法函数与魔法常量使用介绍
2017/07/23 PHP
Centos7安装swoole扩展操作示例
2020/03/26 PHP
js获取select选中的option的text示例代码
2013/12/19 Javascript
通过正则表达式实现表单验证是否为中文
2014/02/18 Javascript
from表单多个按钮提交用onclick跳转不同action
2014/04/24 Javascript
禁止iframe页面的所有js脚本如alert及弹出窗口等
2014/09/03 Javascript
JS拖拽插件实现步骤
2015/08/03 Javascript
jQuery实现HTML表格单元格的合并功能
2016/04/06 Javascript
全面解析JavaScript中“&&”和“||”操作符(总结篇)
2016/07/18 Javascript
基于Vue实现页面切换左右滑动效果
2020/06/29 Javascript
微信小程序 如何引入外部字体库iconfont的图标
2018/01/31 Javascript
vue移动端微信授权登录插件封装的实例
2018/08/28 Javascript
解决微信小程序云开发中获取数据库的内容为空的方法
2019/05/15 Javascript
[08:53]DOTA2每周TOP10 精彩击杀集锦vol.9
2014/06/26 DOTA
[28:28]Ti4 冒泡赛第二天NEWBEE vs NaVi 2
2014/07/15 DOTA
python中xrange用法分析
2015/04/15 Python
Python时间模块datetime、time、calendar的使用方法
2016/01/13 Python
Python绘制正余弦函数图像的方法
2018/08/28 Python
对python中的控制条件、循环和跳出详解
2019/06/24 Python
基于h5py的使用及数据封装代码
2019/12/26 Python
Python使用Tkinter实现转盘抽奖器的步骤详解
2020/01/06 Python
pytorch之ImageFolder使用详解
2020/01/06 Python
Python实现一个简单的毕业生信息管理系统的示例代码
2020/06/08 Python
ASP.NET Core中的配置详解
2021/02/05 Python
Python3压缩和解压缩实现代码
2021/03/01 Python
HTML5在微信内置浏览器下右上角菜单的调整字体导致页面显示错乱的问题
2021/01/19 HTML / CSS
德国二手设计师时装和复古时装跳蚤市场:Mädchenflohmarkt
2020/11/09 全球购物
广告学专业毕业生自荐信
2013/09/24 职场文书
数控加工专业毕业生自荐信
2013/09/27 职场文书
客服专员岗位职责范本
2013/11/29 职场文书
教你使用pyinstaller打包Python教程
2021/05/27 Python
Java框架入门之简单介绍SpringBoot框架
2021/06/18 Java/Android
一文了解JavaScript用Element Traversal新属性遍历子元素
2021/11/27 Javascript