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 相关文章推荐
在Django的上下文中设置变量的方法
Jul 20 Python
Python实现PS滤镜碎片特效功能示例
Jan 24 Python
tensorflow saver 保存和恢复指定 tensor的实例讲解
Jul 26 Python
python中pika模块问题的深入探究
Oct 13 Python
Python:二维列表下标互换方式(矩阵转置)
Dec 02 Python
Python Selenium 设置元素等待的三种方式
Mar 18 Python
Python装饰器实现方法及应用场景详解
Mar 26 Python
Python使用jupyter notebook查看ipynb文件过程解析
Jun 02 Python
使用keras时input_shape的维度表示问题说明
Jun 29 Python
Python把图片转化为pdf代码实例
Jul 28 Python
python 多线程死锁问题的解决方案
Aug 25 Python
Python实现的扫码工具居然这么好用!
Jun 07 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如何使用Memcached
2016/04/05 PHP
php装饰者模式简单应用案例分析
2019/10/23 PHP
鼠标图片振动代码
2006/07/06 Javascript
基于JQuery的访问WebService的代码(可访问Java[Xfire])
2010/11/19 Javascript
JQuery将文本转化成JSON对象需要注意的问题
2011/05/09 Javascript
了不起的node.js读书笔记之node的学习总结
2014/12/22 Javascript
Bootstrap3制作图片轮播效果
2016/05/12 Javascript
jquery轮播的实现方式 附完整实例
2016/07/28 Javascript
JS中使用DOM来控制HTML元素
2016/07/31 Javascript
AngularJS 入门教程之事件处理器详解
2016/08/19 Javascript
浅谈jquery中使用canvas的问题
2016/10/10 Javascript
JS控制div跳转到指定的位置的几种解决方案总结
2016/11/05 Javascript
JS中parseInt()和map()用法分析
2016/12/16 Javascript
常用jQuery选择器汇总
2017/02/02 Javascript
AngularJS日程表案例详解
2017/08/15 Javascript
vue中实现methods一个方法调用另外一个方法
2018/02/08 Javascript
jQuery实现基本淡入淡出效果的方法详解
2018/09/05 jQuery
Vue使用NPM方式搭建项目
2018/10/25 Javascript
一文了解Vue中的nextTick
2019/05/06 Javascript
用Python程序抓取网页的HTML信息的一个小实例
2015/05/02 Python
python中import reload __import__的区别详解
2017/10/16 Python
Python 修改列表中的元素方法
2018/06/26 Python
Python常用库大全及简要说明
2020/01/17 Python
Python基础之字典常见操作经典实例详解
2020/02/26 Python
python UDF 实现对csv批量md5加密操作
2021/01/01 Python
泰国的头号网上婴儿用品店:Motherhood.co.th
2019/04/09 全球购物
应用艺术毕业生的自我评价
2013/12/04 职场文书
铲车司机岗位职责
2014/03/15 职场文书
2014年社区宣传工作总结
2014/12/02 职场文书
工作失职检讨书范文
2015/05/05 职场文书
医院员工辞职信范文
2015/05/12 职场文书
离婚答辩状怎么写
2015/05/22 职场文书
劳动仲裁代理词范文
2015/05/25 职场文书
入党转正申请自我鉴定
2019/06/25 职场文书
PyQt5 显示超清高分辨率图片的方法
2021/04/11 Python
springmvc直接不经过controller访问WEB-INF中的页面问题
2022/02/24 Java/Android