pandas pd.read_excel ()-程序员宅基地

技术标签: pandas  python  

pd.read_excel ()


人们经常用pandas处理表格型数据,时常需要读入excel表格数据,很多人一般都是直接这么用:

pd.read_excel (“文件路径文件名”), 再多一点的设置可能是转义一下路径中的斜杠,一旦原始的excel表不是很规整,这样简单读入势必报错!. 

其实这个函数有很多参数可以设置,为了应对各式excel表满足各种读入的需求,我们来详细了解下pd.excel ()中的主要参数。


首先,认识一下pd.read_excel(),函数的官方文档是这么说的:

将Excel文件读取到pandas DataFrame中,支持本地文件系统或URL的’xls’和’xlsx’文件扩展名,带有这两种扩展名的文件,函数都可以处理;.

pandas.read_excel(io, 
                  sheet_name=0, 
                  header=0, 
                  names=None, 
                  index_col=None, 
                  parse_cols=None, 
                  usecols=None, 
                  squeeze=False, 
                  dtype=None, 
                  engine=None, 
                  converters=None, 
                  true_values=None, 
                  false_values=None, 
                  skiprows=None, 
                  nrows=None, 
                  na_values=None, 
                  keep_default_na=True, 
                  verbose=False, 
                  parse_dates=False, 
                  date_parser=None, 
                  thousands=None, 
                  comment=None, 
                  skip_footer=0, 
                  skipfooter=0, 
                  convert_float=True, 
                  mangle_dupe_cols=True, 
                  **kwds)

函数的使用:

直接使用pd.read_excel(r"文件路径"),默认读取第一个sheet的全部数据
(! + r = SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escap)

实际上就是第一个参数:io,支持str, bytes, ExcelFile, xlrd.Book, path object, or file-like object
io = 路径

sheet_name

默认是sheetname为0,返回多表使用sheetname=[0,1],若sheetname=None是返回全表 。注意:int/string返回的是dataframe,而none和list返回的是dict of dataframe。

header

指定作为列名的行,默认0,即取第一行,数据为列名行以下的数据;若数据不含列名,则设定 header = None;

skiprows(list like):省略指定行数的数据

skip_footer:省略从尾部数的行数据

index_col(int, list of int, default None):

默认值(index_col = None)——重新设置一列成为index值

names:指定列的名字,传入一个list数据

    pd.read_excel(names=['a','b','c'])
 
    Out[ ]:

          a  b   c
    1
    3  1  5  学生
    3  2  4  老师

parse_cols:

为True时,则尝试解析数据框中的行索引;为列表,则尝试解析对应的日期列;参数为嵌套列表,则将某些列合并为日期列;如果参数为字典,则解析对应的列(即字典中的值),并生成新的变量名(即字典中的键)

converters:    通过字典的形式,指定哪些列需要转换成什么形式

throusands:    指定原数据集中的千分位符

parse_dates:    该参数在函数内不再生效

convert_float:    默认将所有的数值型变量转换位浮点型变量

na_values(scalar, str, list-like, or dict, default None)    指定某些列的某些值为NaN

keep_default_na (bool, default True)      

表示导入数据时是否导入空值。默认为True,即自动识别空值并导入

usecols (int, str, list-like, or callable default None)
默认为None,解析所有列。
如果为str,则表示Excel列字母和列范围的逗号分隔列表(例如“ A:E”或“ A,C,E:F”)。范围全闭。
如果为int,则表示解析到第几列。
如果为int列表,则表示解析那几列。
str:usecols="A:C",只读取从A列到C列的数据

converters(dict, default None)
对指定列的数据进行指定函数的处理,传入参数为列名与函数组成的字典。key 可以是列名或者列的序号,values是函数,可以def函数或者直接lambda都行。

dtype(Type name or dict of column -> type, default None)
列的类型名称或字典,默认为None,也就是不改变数据类型。
其作用是指定列的数据类型。

true_values(list,default None)     将指定的文本转换为True,默认为None

false_values(list,default None)    将指定的文本转换为False,默认为None

engine(str, default None)        

可以接受的参数有“ xlrd”,“ openpyxl”或“ odf”,用于使用第三方的库去解析excel文件。

squeeze (bool, default False)        

默认为False。如果设置squeeze=True则表示如果解析的数据只包含一列,则返回一个Series。

nrows(int, default None)        

默认为None, 指定需要读取前多少行,通常用于较大的数据文件中。
 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ZOIIIIION/article/details/120500573

智能推荐

jxls Excel表格导出( 模板导出多个sheet)-程序员宅基地

文章浏览阅读2.9k次,点赞2次,收藏12次。1.使用jxls-core jar包来实现(jxls-core不支持POI4以上的版本)1.1 maven<dependency> <groupId>net.sf.jxls</groupId> <artifactId>jxls-core</artifactId> <version>1.0.6</version></dependency>//打包时对像xlsx文件过滤<

随机路线图算法(Probabilistic Roadmap, PRM)-Python实现_prm python csdn-程序员宅基地

文章浏览阅读2.7k次,点赞2次,收藏16次。随机路线图算法(Probabilistic Roadmap, PRM)-Python实现原理参考网站import mathfrom PIL import Imageimport numpy as npimport networkx as nximport copySTAT_OBSTACLE='#'STAT_NORMAL='.'class Node(): """ ..._prm python csdn

mac 安装svn以及安装eclipse svn插件_mac eclipse 安装svn-程序员宅基地

文章浏览阅读6k次。mac安装搭建svn和eclipse安装svn插件全过程_mac eclipse 安装svn

获取安卓签名文件的MD5值与SHA1码_android 应用签名sha1值-程序员宅基地

文章浏览阅读4.4k次。公司App项目要备案,要搜集MD5值与SHA1码,用了以前的命令行方式只获取到SHA1,奇怪,网上学习了下,原来还有另一种方式新技能get√。_android 应用签名sha1值

vscode是什么,如何安装vscode-程序员宅基地

文章浏览阅读4.6k次。vscode是什么Visual Studio Code(简称“VS Code” )是Microsoft在2015年4月30日Build开发者大会上正式宣布一个运行于 Mac OS X、Windows和 Linux 之上的,针对于编写现代Web和云应用的跨平台源代码编辑器,可在桌面上运行,并且可用于Windows,macOS和Linux。它具有对JavaScript,TypeScript和Node.js的内置支持,并具有丰富的其他语言(例如C++,C#,Java,Python,PHP,Go)和运行时(例如_vscode

ChatGLM-6B 的部署与微调以及过程中涉及知识总结(7.26更新)_demo.queue().launch(share=true, inbrowser=true)-程序员宅基地

文章浏览阅读4.3k次,点赞5次,收藏48次。最近因为工作关系,接触到ChatGLM-6B,自己部署做了一些测试。参考了网上很多优秀的资料,在此基础上,补充一些自己实践中发现的细节。部署内容部分绝大部分来自:https://zhuanlan.zhihu.com/p/627168140微调部分借鉴:https://zhuanlan.zhihu.com/p/625468667细节问题参考:https://zhuanlan.zhihu.com/p/624918286!_demo.queue().launch(share=true, inbrowser=true)

随便推点

LinkedHashMap-程序员宅基地

文章浏览阅读5.6k次,点赞2次,收藏5次。概念LinkedHashMap继承自HashMap,它的结构如图所示:hashmap是无序的,LinkedHashMap是有序的,且默认为插入顺序。LinkedHashMap通过在HashMap的基础上增加一条双向链表,实现了插入顺序和访问顺序一致。通过对HashMap一些方法的覆盖,例如newNode, replacementNode, replacementTreeNode, newTreeNode,让所有对底层HashMap数据结构修改的同时该链表进行修改,遍历的时候便是遍历这一条有序_linkedhashmap

python基于ocr的视频字幕提取_实现视频语义信息提取任务opencv-程序员宅基地

文章浏览阅读7.7k次,点赞4次,收藏42次。python 基于pytesseract ocr 的视频文字识别_实现视频语义信息提取任务opencv

error: ‘rand’ was not declared in this scope_[error] 'rand' was not declared in this scope-程序员宅基地

文章浏览阅读1.7w次,点赞2次,收藏2次。出现错误error: ‘rand’ was not declared in this scope解决方法添加头文件#include_[error] 'rand' was not declared in this scope

空洞卷积(扩张卷积,带孔卷积,atrous convolution)的一些总结与理解_空洞卷积 一维-程序员宅基地

文章浏览阅读5.4k次,点赞14次,收藏78次。空洞卷积(扩张卷积,带孔卷积,atrous convolution)是一种区别于普通卷积的卷积方式,从字面理解,就是卷积层中有洞。1.一维理解以一维为例:图中(a)Input feature表示输入特征,Output feature表示输出特征,这是一个正常的kernel = 3; stride = 1; pad = 1的卷积操作。图中(b)下面为Input feature,上面为Output feature,与图(a)不同的是pad = 2,同时引入了一个rate = 2,这个rate_空洞卷积 一维

Javascript中的undefined、null、““、0值和false的区别总结_js区分false和undefined-程序员宅基地

文章浏览阅读772次。1、值的类型不同typeof(undefined) == 'undefined' typeof(null) == 'object' typeof("") == 'string' typeof(0) == 'number' typeof(false) == 'boolean'2、共同点:在if语句中做判断,都会执行false分支。当然从广义上来看,是说明这些数值都是其对应数据类型上的无效值或空值。还有这五个值作!运算,结果全为:true。这几个值中也有不同,其中undefined和nu._js区分false和undefined

如何在SAM时代下打造高效的高性能计算大模型训练平台_sa-1b-程序员宅基地

文章浏览阅读440次。学术界有多篇论文探讨SAM 的 ZSL 能力, 如《SAM.MD: Zero-shot medical image segmentation capabilities of the Segment Anything Model》测试 SAM 的 ZSL 效果,在图像分割任务中输入部分点和框作为 prompt 提示,结果显示:专家用户可以通过 SAM 实现大部分场景下的快速半自动分割。总的来说,SAM-Track是在SAM基础上的有意义的研究成果,为视频分割和跟踪领域的研究和应用带来了新的可能性。_sa-1b