pandas(1):Pandas文件读取——read_excel()
一、函数原型
pd.read_excel(io, sheet_name=0, header=0,
names=None, index_col=None,
usecols=None, squeeze=False,
dtype=None, engine=None,
converters=None, true_values=None,
false_values=None, skiprows=None,
nrows=None, na_values=None,
parse_dates=False, date_parser=None,
thousands=None, comment=None,
skipfooter=0, convert_float=True, **kwds)
二、功能说明
将Excel文件读取到pandas DataFrame中,支持本地文件系统或URL的’xls’和’xlsx’文件扩展名,带有这两种扩展名的文件,函数都可以处理。
三、常用参数说明
- io参数
io参数可以接受的有:str,Excel文件,xlrd.Book,路径对象或类似文件的对象。其中最常用的是str,一般是文件路径+文件名,需要注意的是文件名字不要漏掉后缀,即文件扩展名,表明文件类型的那个!有时候需要对路径中的”\”进行转义,io参数没有默认值,必须传入。
# jupter notebook环境中不需要对"\"进行转义
pd.read_excel(r"C:\Users\asus\Desktop\test.xlsx")
# pd.read_excel(r"C:\\Users\\asus\\Desktop\\test.xlsx")
# jupter notebook、Windows环境下,用"/"可以文件名联想
pd.read_excel(r"C:/Users/asus/Desktop/test.xlsx")
tips:要不要转义可能和编辑器、操作系统有关。建议都写成最后一种形式。
- sheet_name参数
通过sheet位置或sheet名字来指定读入哪个sheet的数据。
当一个excel工作簿中包含有很多个sheet工作表时,sheet_name用于决定导入那个sheet表单。可以接收的参数类型有:str,int,list或None,默认0。其中,str代表“工作表名称”;整数用于零索引工作表位置;字符串/整数列表用于请求多个工作表;None获取所有工作表;默认0,获取第一个工作表。
# 导入第一个工作表,索引从0开始,传参类型为int
pd.read_excel(r"C://Users//asus//Desktop/test.xlsx",sheet_name=0)
# 导入表名为“data1”的工作表,传参类型为str
pd.read_excel(r"C://Users//asus//Desktop/test.xlsx",sheet_name="data1")
# 导入第一个和第三个工作表,传参类型为int型列表
pd.read_excel(r"C://Users//asus//Desktop/test.xlsx",sheet_name=[0,2])
- header参数
指定哪一行作为列名的,默认值是0,即第1行作为列名。
接受的参数可以是:整数(指定第几行作为列名);有整数组成的列表(指定哪几行作为列名);None(没有列名,Python自动生成0始序列)
# 列名为从0开始的序列
pd.read_excel(r"C://Users//asus//Desktop/test.xlsx",header=None)
# 第3行当列名
pd.read_excel(r"C://Users//asus//Desktop/test.xlsx",header=2)
# 第3,5行当列名
pd.read_excel(r"C://Users//asus//Desktop/test.xlsx",header=[2,4])
- names参数
表示要使用的列名列表,也就是说可以自定义列名。一般传入字符型列表。默认是None。
若设置了names参数,同时也设置了header参数,此时header=n表示从第n+2行开始导入数据。
header = None和names参数都设置的话,依然会显示names指定的列名,从第一行开始导入数据。
# 从第2行开始导入数据
pd.read_excel(r"C:/Users/asus/Desktop/test.xlsx",header=0,names=["a","b","c"])
# 从第1行开始导入数据
pd.read_excel(r"C:/Users/asus/Desktop/test.xlsx",header=None,names=["a","b","c"])
index_col参数
指定用哪一列做为索引。参数接收整数,或者由整数组成的列表,默认是None。和header参数类似。
usecols参数
控制导入的哪几列(当列数过多时)。接收整数(列的位置),字符(列名称)或者类似列表的序列。如果设置了names参数,注意设置的列名个数要和读取的列数一致。
squeeze参数
接收布尔值,当取值为True的时候,如果解析的数据仅包含一列,则返回Series。默认值是False,即只有一列也返回Dataframe。
dtype参数
输入表示数据类型的名称字符或者字典,如果输入的是字符表示整个表格的数据都转换成指定的数据类型,如果输入的是字典,那么每个字段可以指定不同的数据类型。
假如整个表格中既有文本又有数值,如果要设置成统一的数据类型只能设置成字符型。
返回值:DataFrame数据框对象或Series对象(squeeze参数控制)
四、总结
参数能控制啥?哪1个或几个表(假若是多表)、哪几行或几列、数据重哪行开始导入、列名和行索引等等
pandas(1):Pandas文件读取——read_excel()的更多相关文章
- pandas read excel文件碰到的一个小问题
今天利用pandas读取excel时,爆出如下错误: 代码为: import pandas as pd db_eua=pd.read_excel('db_eua.xlsx',sheetname='EU ...
- 【繁琐工作自动化】pandas 处理 excel 文件
0. 一般处理 读取 excel 格式文件:df = pd.read_excel('xx.xlsx'),下面是一些简单查看文件内容的函数: df.head():展示前五行: df.columns:展示 ...
- Python使用xlrd、pandas包从Excel读取数据
#coding=utf-8 # pip install xlrd import xlrd def read_from_xls(filepath,index_col_list): #filepath:读 ...
- pandas处理excel文件和csv文件
一.csv文件 csv以纯文本形式存储表格数据 pd.read_csv('文件名'),可添加参数engine='python',encoding='gbk' 一般来说,windows系统的默认编码为g ...
- (数据科学学习手札63)利用pandas读写HDF5文件
一.简介 HDF5(Hierarchical Data Formal)是用于存储大规模数值数据的较为理想的存储格式,文件后缀名为h5,存储读取速度非常快,且可在文件内部按照明确的层次存储数据,同一个H ...
- 其它课程中的python---5、Pandas处理数据和读取数据
其它课程中的python---5.Pandas处理数据和读取数据 一.总结 一句话总结: 记常用和特例:慢慢慢慢的就熟了,不用太着急,慢慢来 库的使用都很简单:就是库的常用函数就这几个,后面用的时候学 ...
- [Python]-pandas模块-CSV文件读写
Pandas 即Python Data Analysis Library,是为了解决数据分析而创建的第三方工具,它不仅提供了丰富的数据模型,而且支持多种文件格式处理,包括CSV.HDF5.HTML 等 ...
- [Pandas]利用Pandas处理excel数据
Python 处理excel的第三包有很多,比如XlsxWriter.xlrd&xlwt.OpenPyXL.Microsoft Excel API等,最后综合考虑选用了Pandas. Pand ...
- Pandas之:Pandas高级教程以铁达尼号真实数据为例
Pandas之:Pandas高级教程以铁达尼号真实数据为例 目录 简介 读写文件 DF的选择 选择列数据 选择行数据 同时选择行和列 使用plots作图 使用现有的列创建新的列 进行统计 DF重组 简 ...
随机推荐
- 使用hive增量更新
目录 1.增量更新 2.对第一种情况 2.1.准备工作 2.2.更新数据 3.对第二种情况 3.1.准备工作 3.2.方法1 3.3.方法2 参考文末文章,加上自己的理解. 1.增量更新 有一个 ba ...
- Django Admin 后台Admin继承UserAdmin增加用户密码不显示明文和用户登录不了的解决方法
Django后台Admin继承UserAdmin增加用户不显示明文方法 1.在 models.py 中用户表 # 导包规范-1.Python标准模块 from django.db import mod ...
- 重量级锁synchronized的优化----自旋锁、自适应自旋锁、锁消除、锁粗化
synchronized是重量级锁,效率不高.但在jdk 1.6中对synchronize的实现进行了各种优化,使得它显得不是那么重了.jdk1.6对锁的实现引入了大量的优化,如自旋锁.自适应自旋锁. ...
- 前端传数据到后台,后台用实体类接收不到引发的思考----Java bean中字段命名潜规则
1.按照Java语法规范,通常在实体类中的属性,首字母都是小写的.这是由于JavaBean的规范导致的.一般JavaBean属性都是首字母小写,以驼峰命名格式命名,相应的 getter/setter ...
- HTTP 请求URL中不能含有空格
如果含有空格 会报 不合法参数异常 正确做法是将其encode URLEncoder.encode(targetString, "utf-8").replaceAll(" ...
- 基于jQuery1.4.2轻量级的弹出窗口jQuery插件wBox 1.0
Box特点 背景透明度可以根据实际情况进行调节 可以根据需要添加wBox标题 支持callback函数 支持html内容自定义 支持在wBox显示#ID的内容 支持Ajax页面内容 支持iFrame ...
- HDOJ-6645(简单题+贪心+树)
Stay Real HDOJ-6645 由小根堆的性质可以知道,当前最大的值就在叶节点上面,所以只需要排序后依次取就可以了. #include<iostream> #include< ...
- P1092 虫食算 题解(搜索)
题目链接 P1092 虫食算 解题思路 好题啊!这个搜索好难写...... 大概是要考虑进位和考虑使用过某个数字这两个东西,但就很容易出错...... 首先这个从后往前搜比较好想,按照从后往前出现的顺 ...
- 从零开始编写一个BitTorrent下载器
从零开始编写一个BitTorrent下载器 BT协议 简介 BT协议Bit Torrent(BT)是一种通信协议,又是一种应用程序,广泛用于对等网络通信(P2P).曾经风靡一时,由于它引起了巨大的流量 ...
- Python-tkinter-window
示例代码讲解 1.加载tkinter模块 2.创建一个窗口 3.设置窗口的主题 4.开始窗口的事件循环 import tkinter 2 win = tkinter.Tk() 3 win.title( ...