python 读取excel表数据_5分钟学会用Python 读取Excel
5分钟学会用Python
读取Excel
日常办公使用频率最高的软件非Excel莫属了,如果我们遇到需要导入别人的Excel进行后续数据分析、读取内容等操作,我们该怎么办呢?
测试开发哥哥说:莫要慌,人生苦短,我用Python!
本文目录
--环境配置
--主要使用方法
--打开文件
--获取sheet表
--获取行列数
--获取单元格值
--遍历表格
--读取指定行、指定列
--样例
--原始需求
--打开并获取sheet表
--读取表头
--读取内容
环境配置
Python的基础环境配置相信大家都很熟悉了,此处不再赘述,如需详细文档,可以善用搜索引擎。
Python读取Excel的外部库的方法参考上次的文章(5分钟学习用Python写测试报告—openpyxl应用),本次继续使用好用的openpyxl库进行Excel的读取
安装很简单,直接用pip命令即可安装成功:
pip install openpyxl
.py文件中导入openpyxl即可使用
import openpyxl或者from openpyxl import Workbook
主要使用方法
1.打开文件
from openpyxl import load_workbook
excel=load_workbook('/test.xlsx')
2.获取sheet表
获得每一个子表的名称
excel.sheetnames
通过表名获取当前表对象,方便后续进行遍历操作
table = excel.get_sheet_by_name('Sheet1')
3.获取行数和列数:
rows=table.max_row #获取行数
cols=table.max_column #获取列数
4.获取单元格值:
值得说明的是,openpyxl的行列数是按照Excel中的行列数从1开始的,而不是一般程序从0开始,此处使用的时候需要特别注意。
Data=table.cell(row=row,column=col).value
#第一行第一列从1开始的获取表格内容
5.遍历表格
遍历从某行到某列的方法是使用iter_rows('开始:结束') ,此处的入参和Excel保持一致,如:从A1单元格到D4单元格为 A1:D4
遍历的内容使用value方法获得
取值时要用value,例如:
for row in ws.iter_rows('A1:D4'):
for cell in row:
print(cell.value)
6.读指定行、指定列:
row=ws.rows
返回值row是可迭代的,是当前表格所有的行
columns=ws.columns
返回值column是可迭代的,是当前表格所有的列
打印第n行数据
print(rows[n])
样例
1.原始需求
假设我们有如下表格,第2行为表头,获取当前表头和表格的所有的内容,返回结果和list形式
2.打开并获取sheet表
获取表格1sheet对象
table = excel[tables[0]]
3.读取表头
逻辑为:
1.首先获得总列数
table.max_colum
2.然后遍历第二行每一列
for i in range(1, columns + 1)
+1是因为openpyxl是从1开始计数,python的range为左闭右开区间
TIPS:
因为在计算机硬件中迭代器对比较大小的运算很麻烦,有些时候两个地址都无法比较大小。但是比较是否相等就会简单的多,比如我要 range(5) 这时候只需判断从0开始每次加一,直到等于5的时候结束循环。
3.拿到单元格的值,存储到数组中。
row_data.append(cell_value)
4.拿到每一个表头的具体index
# 以下基于我们已知表头内容,但不知道位于第几个结果_index = row_data.index('结果')
测试项_index = row_data.index('测试项')
备注_index = row_data.index('备注')
4.读取全部内容
有了上面的学习,读取全部内容就轻而易举了
输出为:
{'测试项': ['通过率', '识别率', '召回率'], '结果': [0.9, 0.68, 0.78], '备注': ['通过', '识别', '召']}
相信聪明的读者看到这里,已经知道如何使用openpyxl进行表格的读取了,如果有更多的使用,可以参考openpyxl的官方文档:
https://openpyxl.readthedocs.io/en/stable/
作
业
万万没想到我看个公众号还有作业??
没关系,这里只是介绍下应用场景:
如下面的表格是某次性能测试的数据,请快速用python存入数据库并计算差异大于10%且大于4秒的数据,想必聪明的你这5分钟已经学会了。
python 读取excel表数据_5分钟学会用Python 读取Excel相关推荐
- matlab读取.mb15格式数据,两分钟搞定Python读取matlab的.mat数据
Matlab是学术界非常受欢迎的科学计算平台,matlab提供强大的数据计算以及仿真功能.在Matlab中数据集通常保存为.mat格式.那么如果我们想要在Python中加载.mat数据应该怎么办呢?所 ...
- 怎么用python爬取整个网站_5分钟学会Python爬取整个网站
本图文配套视频演示 爬取网站的步骤: 设定爬取目标 目标网站:我自己的博客,疯狂的蚂蚁 http://www.crazyant.net 目标数据:所有博客文章的 - 链接.标题.标签 2. 分析目标网 ...
- python 计算每日累计_5分钟学会用Python可视化数据分析美股
翻译:孟家慧 校对:Jack.Brow 作者:Gayan Samarakoon 这是一个股票市场入门分析项目,旨在应用Python编程的基础知识分析金融市场的数据. 第0部分:导入必要的模块 第1部分 ...
- python美国股票数据api_5分钟学会用Python获取美股股票数据
在以前几篇对股票数据做分析和预测的文章后,很多读者对如何获取股票数据很有兴趣.下面就介绍下美股的历史数据获取api来回馈读者. 美股的历史数据获取api 众所周知,Yahoo财经废掉了他们的历史数据a ...
- 用python编写猜成语游戏_10分钟学会用python写游戏!Python其实很简单!
安装pygame 本人电脑是windows 10.python3.6,pygame下载地址:https://pypi.python.org/pypi/Pygame/1.9.3 请自行下载对应pytho ...
- python怎么从excel获取数据_python如何读取excel表数据
python读取excel表数据的方法:首先安装Excel读取数据的库xlrd:然后获取Excel文件的位置并且读取进来:接着读取指定的行和列的内容,并将内容存储在列表中:最后运行程序即可. pyth ...
- python读取mysql中表内数据_Python读取MySQL表数据的方法介绍
这篇文章主要为大家详细介绍了Python如何读取MySQL数据库表数据,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了Python读取MySQL数据库表数据的具体代码,供大家参 ...
- python合并excel表数据_23.python之excel多表合并
关于python的应用办公中很常见,尤其是对于数量较多的重复性操作.本节课要做的是将多张excel表中的信息合并到一张excel表中. 新建一个文件夹名为[merge],里面放入三个名为[销售订单信息 ...
- 读取指定文件夹里多个excel表,并将所有excel表数据整合到一个excel中
1.找出指定文件夹里的所有文件 #-*- encoding: utf-8 -*-# 找出指定文件夹里的所有文件 import osfilePath = 'C:\\Users\\lzk\\Desktop ...
最新文章
- 大多数日志文件的后缀名是_编程小短文:find,让你随心所欲查找整块磁盘的任意文件...
- Apache PHP-fpm Mariadb
- 深度学习入门笔记系列(三)——感知器模型和 tensorboard 的使用方法
- 管理多个Java安装
- 匿名内部类 handler
- dhclient常用命令
- BZOJ5329:[SDOI2018]战略游戏(圆方树,虚树)
- 【2016北京集训测试赛(八)】 直径 (虚树+树的直径)
- 软件测试详细的基本流程
- IT行业毕业生投简历或面试技巧
- linux下anjuta的java环境,Anjuta下载-Anjuta IDE For Linux(集成开发环境)V3.18.0 官方版 - 极光下载站...
- sift论文_ImageNet一作邓嘉最佳论文,ECCV2020奖项全公布
- Visual SourceSafe 2005介绍
- docker搭建searx_『颜值即正义』看小睿“自建搜索引擎”
- 硬盘详解与如何选购固态硬盘
- springboot学习
- linux ida和idr分配机制
- base64加密和解密(动态密钥)
- Anaconda3-5.2.0+PyTorch1.3.0+cuda9.2本地安装教程
- 抢注数字域名 数字含义解释
热门文章
- android 广播反注册后,BroadcastReceiver注册、使用及其权限
- java跟其_java跟其他语言比有哪些优势?
- 跨境电商亚马逊店铺到底需不需要ERP系统啊?
- Algorithm:十大经典排序算法C++实现及总结
- CCF 2016-4-4游戏
- Data Lake Analytics: 基于OSS文件自动推断建表
- Promise源码实现
- 备忘:gcc在linux下打包so库并调用
- Java自动化测试框架-05 - 来给你的测试报告化个妆整个形 - (上)(详细教程)
- 需要氪金吗_《死或生6》染发也需要氪金,海外玩家吐槽官方吃相太难看