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 相关文章推荐
Python运行的17个时新手常见错误小结
Aug 07 Python
python海龟绘图实例教程
Jul 24 Python
Python输出9*9乘法表的方法
May 25 Python
Python查询阿里巴巴关键字排名的方法
Jul 08 Python
python正则表达式爬取猫眼电影top100
Feb 24 Python
用python与文件进行交互的方法
Mar 01 Python
Pycharm 设置默认头的图文教程
Jan 17 Python
python解析yaml文件过程详解
Aug 30 Python
Python使用Pandas读写Excel实例解析
Nov 19 Python
python 输出列表元素实例(以空格/逗号为分隔符)
Dec 25 Python
python两个_多个字典合并相加的实例代码
Dec 26 Python
python模板入门教程之flask Jinja
Apr 11 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递归删除目录下的文件但保留的实例分享
2014/05/10 PHP
基于PHP实现堆排序原理及实例详解
2020/06/19 PHP
javascript 解析后的xml对象的读取方法细解
2009/07/25 Javascript
用AJAX返回HTML片段中的JavaScript脚本
2010/01/04 Javascript
JavaScript 学习笔记(十二) dom
2010/01/21 Javascript
jquery对象和DOM对象的区别介绍
2013/08/09 Javascript
JQuery操作单选按钮以及复选按钮示例
2013/09/23 Javascript
jquery选择器-根据多个属性选择示例代码
2013/10/21 Javascript
通过js简单实现将一个文本内容转译成加密文本
2013/10/22 Javascript
jquery 扑捉回车键事件代码
2014/04/24 Javascript
基于NodeJS的前后端分离的思考与实践(一)全栈式开发
2014/09/26 NodeJs
asp知识整理笔记3(问答模式)
2015/09/27 Javascript
浅析jQuery移动开发中内联按钮和分组按钮的编写
2015/12/04 Javascript
jquery实现表格中点击相应行变色功能效果【实例代码】
2016/05/09 Javascript
浅谈Javascript中的12种DOM节点类型
2016/08/19 Javascript
jquery请求servlet实现ajax异步请求的示例
2017/06/03 jQuery
微信小程序日历组件calendar详解及实例
2017/06/08 Javascript
nodejs(officegen)+vue(axios)在客户端导出word文档的方法
2018/07/31 NodeJs
vue实现拖拽进度条
2021/03/01 Vue.js
python算法学习之计数排序实例
2013/12/18 Python
Linux环境下MySQL-python安装过程分享
2015/02/02 Python
10款最好的Web开发的 Python 框架
2015/03/18 Python
在Python中操作字典之setdefault()方法的使用
2015/05/21 Python
python使用MySQLdb访问mysql数据库的方法
2015/08/03 Python
关于Python中空格字符串处理的技巧总结
2017/08/10 Python
Python实现统计给定列表中指定数字出现次数的方法
2018/04/11 Python
python中yaml配置文件模块的使用详解
2018/04/27 Python
python读取多层嵌套文件夹中的文件实例
2020/02/27 Python
Python通过fnmatch模块实现文件名匹配
2020/09/30 Python
小学生操行评语
2014/04/22 职场文书
银行服务明星推荐材料
2014/05/29 职场文书
室内设计专业自荐信
2014/05/31 职场文书
三十年同学聚会感言
2015/07/30 职场文书
python中super()函数的理解与基本使用
2021/08/30 Python
人物搭配车车超萌联名预备中 【咒术迴战】 ⨯ 【天竺鼠车车】 展开合作
2022/04/11 日漫
Python中Schedule模块使用详解 周期任务神器
2022/04/19 Python