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之总结参数的传递
Oct 10 Python
Python sys.argv用法实例
May 28 Python
浅谈Python的文件类型
May 30 Python
python下os模块强大的重命名方法renames详解
Mar 07 Python
Python实现PS图像抽象画风效果的方法
Jan 23 Python
python实现爬取图书封面
Jul 05 Python
Python 中的参数传递、返回值、浅拷贝、深拷贝
Jun 25 Python
PyCharm2018 安装及破解方法实现步骤
Sep 09 Python
django drf框架自带的路由及最简化的视图
Sep 10 Python
Python 使用 prettytable 库打印表格美化输出功能
Dec 26 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
Feb 07 Python
Python中OpenCV实现简单车牌字符切割
Jun 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
建立动态的WML站点(二)
2006/10/09 PHP
php如何调用webservice应用介绍
2012/11/24 PHP
探讨如何把session存入数据库
2013/06/07 PHP
解决phpcms更换javascript的幻灯片代码调用图片问题
2014/12/26 PHP
javascript 学习之旅 (1)
2009/02/05 Javascript
JS中类或对象的定义说明
2014/03/10 Javascript
js由下向上不断上升冒气泡效果实例
2015/05/07 Javascript
Javascript实现图片轮播效果(二)图片序列节点的控制实现
2016/02/17 Javascript
JavaScript面向对象程序设计教程
2016/03/29 Javascript
JQuery插件Marquee.js实现无缝滚动效果
2016/04/26 Javascript
jQuery实现的纵向下拉菜单实例详解【附demo源码下载】
2016/07/09 Javascript
JS限制条件补全问题实例分析
2016/12/16 Javascript
微信小程序开发之Tabbar实例详解
2017/01/09 Javascript
JavaScript编写一个贪吃蛇游戏
2017/03/09 Javascript
Vim快速合并行及vim 将文件所有行合并到一行
2017/11/27 Javascript
mpvue微信小程序多列选择器用法之省份城市选择的实现
2019/03/07 Javascript
详解JavaScript 为什么要有 Symbol 类型?
2019/04/03 Javascript
关于layui表单中按钮自动提交的解决方法
2019/09/09 Javascript
使用vue打包进行云服务器上传的问题
2020/03/02 Javascript
解决微信授权成功后点击按返回键出现空白页和报错的问题
2020/06/08 Javascript
在服务器端实现无间断部署Python应用的教程
2015/04/16 Python
Python输出汉字字库及将文字转换为图片的方法
2016/06/04 Python
使用python实现tcp自动重连
2017/07/02 Python
python合并已经存在的sheet数据到新sheet的方法
2018/12/11 Python
使用tensorflow实现矩阵分解方式
2020/02/07 Python
Python制作简易版小工具之计算天数的实现思路
2020/02/13 Python
From CSV to SQLite3 by python 导入csv到sqlite实例
2020/02/14 Python
解决python中0x80072ee2错误的方法
2020/07/19 Python
python3实现名片管理系统(控制台版)
2020/11/29 Python
英国豪华文具和皮具配件经典老品牌:Smythson(斯迈森)
2018/04/19 全球购物
西雅图的买手店:Totokaelo
2019/10/19 全球购物
综治工作心得体会
2014/09/11 职场文书
2015年妇产科工作总结
2015/05/18 职场文书
签约仪式致辞
2015/07/30 职场文书
浅谈怎么给Python添加类型标注
2021/06/08 Python
nginx配置指令之server_name的具体使用
2022/08/14 Servers