-
python 读取excel表数据_Python读取excel表
2020-11-27 02:18:43在我们做平常工作或自动化测试中都会遇到操作excel,Python处理exc相当顺手,如何通过python操作excel,当然python操作excel的库有很多,比如pandas,xlwt/xlrd,openpyxl等,每个库都有不同的区别,具体的区别,...在我们做平常工作或自动化测试中都会遇到操作excel,Python处理exc相当顺手,如何通过python操作excel,当然python操作excel的库有很多,比如pandas,xlwt/xlrd,openpyxl等,每个库都有不同的区别,具体的区别,大家一起研究下哈。今天先讲xlrd来读取excl
xlrd模块
xlrd是对于Excel进行读取,xlrd 操作的是xls/xlxs格式的excel
安装
xlrd是python的第3方库,需要通过pip进行安装,即,pip install xlrd
1.在excel中存放数据,第一行为标题,也就是对应字典里面的key值,如:num,name
2.如果excel数据中有纯数字的一定要右键》设置单元格格式》文本格式,要不然读取的数据是浮点数
(先设置单元格格式后再编辑,编辑成功左上角有个小三角图标)
1.打开execl文件并获得所有sheet
实例:
import xlrd
data = xlrd.open_workbook('F:/test/student.xlsx')
# 运行结果:[u'name1', u'name2']print(data.sheet_names())2.根据下标获得sheet名称
实例:
import xlrd
data = xlrd.open_workbook('F:/test/student.xlsx')
# 运行结果:name2print(data.sheet_names()[1])3.获取行数和例数
实例:
4.获得某一行的值或某一列的值
实例:
5.获取指定单元格的内容和类型
实例:
import xlrd
data = xlrd.open_workbook('F:/test/student.xlsx')
# 通过名称获得name2对像
table_index = data.sheet_by_name("name1")
# 括号内参数为:第2行,第2列# 运行结果:text:u'Python'print table_index.cell(1, 1)
# 获取单元格内容的类型# 运行结果:1print table_index.cell(1, 0).ctype
注:类型说明:ctype : 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error
更多用法请自行查询
软件测试、接口测试、自动化测试、面试经验交流。感兴趣可以关注我们码上开始,公众号内会有不定期的发放免费的资料链接,还有同行一起技术交流。这些资料都是从各个技术网站搜集、整理出来的,如果你有好的学习资料可以私聊发我,我会注明出处之后分享给大家。
-
python 读取excel表数据_python读取excel
2020-11-22 07:17:56Python读取Excel文件最简单的就是利用第三方库:xlrd的Githubgithub.comxlrd documentationxlrd.readthedocs.io下面简单的描述如何读取Excel中的数据:安装xlrdpip 2. 打开一个excel文件woek_book 3. 打开工作表...Python读取Excel文件最简单的就是利用第三方库:
xlrd的Githubgithub.comxlrd documentationxlrd.readthedocs.io下面简单的描述如何读取Excel中的数据:
- 安装xlrd
pip
2. 打开一个excel文件
woek_book
3. 打开工作表
Excel表格工作簿和工作表
这是整个工作簿,Excel默认打开第一个工作表 整个工作簿有三个工作表 - 获取工作薄中工作表的名称
sheets = work_book.sheet_names() # 获取工作簿中的全部工作表 print(sheets) # out -> ['水果', '化妆品', '成绩表']
- 打开指定工作表
方式一:
work_sheet = work_book.sheets()[0] # work_book.sheets() 获取全部 标识工作表的 对象 的列表 # work_book.sheets()[0] 获取 标识第一个工作表的 对象
方式二:
work_sheet = work_book.sheet_by_index(0) # 获取第一个工作表 work_sheet = work_book.sheet_by_name("水果") # 获取名为 水果 的工作表
- 获取工作表的信息
获取工作表的结构信息
work_sheet
获取工作表存储的信息
rows_info = work_sheet.row_values(0) # 获取第一行存储的信息 # ['编号', '品名', '规格', '单位', '单价', '数量', '金额', '说明'] col_1 = work_sheet.col_values(0) # ['编号', 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0]
处理单元格信息
# 获取指定单元格信息 cell = work_sheet.cell(0,3) # <class 'xlrd.sheet.Cell'> # text:'单位' # 获取单元格信息的类型 cell_type = work_sheet.cell(0,3).ctype # 获取单元格的值 cell_value = work_sheet.cell(0,3).value cell_value = work_sheet.cell_value(0,3)
单元格信息需要特别处理的是日期
# 直接输出日期的值 cell_value = work_sheet.cell(21,1) # xldate:43920.0 cell_value = work_sheet.cell(21,1).ctype # 3 cell_value = work_sheet.cell(21,1).value # 43920.0
ctype=3 表示单元格存储的是日期
date_tuple = xlrd.xldate_as_tuple(cell_value,xlrd.Book.datemode) # (2020, 3, 30, 0, 0, 0) print("%d/%d/%d"%(info[0],info[1],info[2])) 2020/3/30
-
python 读取excel表数据_python读取excel合并方法
2020-11-22 20:43:01合并单元数据实际应用在实际excel中,存在合并单元来方便读写...下面就以Python为例子,简单讲解python读取excel合并数据的方法例子。python读取excel合并方法# -*- coding:utf-8 -*- import xlrd path = "./" cla...合并单元数据实际应用
在实际excel中,存在合并单元来方便读写数据的情况,无论纵横都一样。然而在使用excel记录数据的需要通过某些程序读取出来进行处理的时候合并单元的数据应该处理?下面就以Python为例子,简单讲解python读取excel合并数据的方法例子。
python读取excel合并方法
# -*- coding:utf-8 -*- import xlrd path = "./" class Price: def __init__(self, sheet): # 注意在读取时要添加formatting_info=True参数,默认是False,表示原样读取 file = 'test.xlsx' wb = xlrd.open_workbook(path + file) self.table = wb.sheet_by_name(sheet) self.sheet = sheet # 合并信息 def colspan(self): # 计算出合并的单元格有哪些 colspan = {} if self.table.merged_cells: for item in self.table.merged_cells: # 通过循环进行组合,从而得出所有的合并单元格的坐标 for row in range(item[0], item[1]): for col in range(item[2], item[3]): # 合并单元格的首格是有值的,所以在这里进行了去重 if (row, col) != (item[0], item[2]): colspan.update({(row, col): (item[0], item[2])}) return colspan
读取数据方法
# 读取信息结果 def res_list(self): colspan = self.colspan() res = [] # 开始循环读取excel中的每一行的数据 for i in range(self.table.nrows): rd = [] for j in range(self.table.ncols): # 假如碰见合并的单元格坐标,取合并的首格的值即可 if colspan.get((i, j)) and colspan.get((i, j)) != (0, 0): rd.append(self.table.cell_value(*colspan.get((i, j)))) else: ctype = self.table.cell(i, j).ctype # 表格的数据类型 cell = self.table.cell_value(i, j) if ctype == 2 and cell % 1 == 0.0: # ctype为2且为浮点 cell = int(cell) # 浮点转成整型 rd.append(cell) res.append(rd) return res
纵横向数据处理
由于数据呈现时候会有纵横不同的处理及查阅情况,所以需要根据实际需求编写对应方法。
横向例子
纵向例子
# 信息下标 def r_i(self, rc, mes, P_type="across"): r_i = None if P_type == "across": for i, i_v in enumerate(rc): if i_v == mes: r_i = i break if P_type == "vertical": for i, i_v in enumerate(rc): if i_v[0] + i_v[1] == mes: r_i = i break return r_i # IP价格(横向获取) def getIPPriceAcross(self, node): res = self.res_list() rc = [] for ic in range(len(res[0])): rc.append(res[0][ic] + res[1][ic]) for i in range(2): res.pop(0) r_i = self.r_i(rc, node) ip_mes = dict() ip_mes["节点"] = rc[r_i] ip_mes["价格"] = res[0][r_i] return ip_mes # IP价格(纵向获取) def getIPPriceVertical(self, node): res = self.res_list() rc = res[0] for i in range(1): res.pop(0) r_i = self.r_i(res, node, P_type="vertical") ip_mes = dict() if r_i != None: ip_mes["节点"] = node for d_i, d in enumerate(rc): if d == "价格": ip_mes["价格"] = res[r_i][d_i] break return ip_mes
执行方法,设定节点信息。输入excel对应的sheet名称
if __name__ == '__main__': node = "广东B" P = Price("IP_弹性 (横)") print("IP_弹性 (横)", P.getIPPriceAcross(node)) P = Price("IP_弹性(纵)") print("IP_弹性(纵)", P.getIPPriceVertical(node))
返还结果:
IP弹性 (横) {‘节点’: ‘广东B’, ‘价格’: 2.67}
IP弹性(纵) {‘节点’: ‘广东B’, ‘价格’: 2.67}
总结
Python操作读取excel合并数据信息,这一方法可以方便日后的数据处理工作及excel的灵活编辑。无需顾虑合并后的信息无法与实际操作核验内容无法对比的情况。
睿江云官网链接:www.eflycloud.com
-
python 读取excel表数据_5分钟学会用Python 读取Excel
2020-11-27 02:18:355分钟学会用Python读取Excel日常办公使用频率最高的软件非Excel莫属了,如果我们遇到需要导入别人的Excel进行后续数据分析、读取内容等操作,我们该怎么办呢?测试开发哥哥说:莫要慌,人生苦短,我用Python!本文...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表数据获取坐标_python 读取excel表格数据基础篇
2020-12-03 03:06:54安装相应库pip install xlrd需要数据直接上代码# coding=utf-8from tkinter import filedialogimport tkinter.messageboximport xlrdfrom tkinter.ttk import Labelfrom tkinter import *import urllib3urllib3.... -
python 读取excel表数据_用python读取excel需要哪些技能
2020-11-27 04:08:32如果你需要从一个excel中摘取部分数据,那么,直接打开excel,随后粘贴复制即可。如果你需要从100个excel...读取excel,你使用xlrd这个库就足够了。第一步,打开文件第二步,获得sheet第三步,读取数据from xlrd im... -
python 读取excel表数据_Python读取Excel用例实现接口自动化
2020-11-27 01:44:35枯燥的学习当然要从一首好听的音乐开始接口自动化的开展:首先在进行接口自动化的时候,前提条件肯定是开发提供有api文档,然后我们根据api文档在Excel上面写接口测试用例,接着用代码读取Excel上面的测试用例实现... -
python 读取excel表数据获取坐标_python读取并定位excel数据坐标系详解
2021-03-17 11:59:50测试数据:坐标数据:testExcelData.xlsx使用python读取excel文件需要安装xlrd库:xlrd下载后的压缩文件:xlrd-1.2.0.tar.gz解压后再进行安装即可,具体安装方法请另行百度。代码import xlrdimport matplotlib.... -
Python 读取excel表数据,并使用字符串格式化将其转化成json格式
2019-08-07 16:40:20先将excel表里的内容利用xlrd读取出来,分析student.xlsx中的数据可知,第一行显示的是数据的名称,第二行显示的是类型,实际的数据从第三行开始。 根据json格式,第一行的数据名称将作为键值 import xlrd def op... -
python如何获取excel数据_python如何读取excel表数据
2021-02-10 06:38:59python读取excel表数据的方法:首先安装Excel读取数据的库xlrd;然后获取Excel文件的位置并且读取进来;接着读取指定的行和列的内容,并将内容存储在列表中;最后运行程序即可。python读取excel表数据的方法:1、... -
python怎么从excel获取数据_python如何读取excel表数据
2020-11-30 21:04:27python读取excel表数据的方法:首先安装Excel读取数据的库xlrd;然后获取Excel文件的位置并且读取进来;接着读取指定的行和列的内容,并将内容存储在列表中;最后运行程序即可。python读取excel表数据的方法:1、... -
用python读取excel文件观看节目的总时长_python读取excel所有数据(cmd界面)
2021-02-05 20:00:27python读取excel所有数据(cmd界面)cmd界面显示excel数据代码import xlrdimport osfrom prettytable import PrettyTableimport pandas#创建一个Excel表类class Excel(object):def __init__(self, path):self.path = ... -
Python读取excel表的数据
2018-11-24 20:56:00from openpyxl.reader.excel import load_workbook#读取xlsx文件def readExcelFile(path): dic={} #打开文件 file=load_workbook(filename=path) #所有表格的名称 sheets=file.get_sheet_names() #拿出表格shu'ju ..... -
2.Python读取excel数据
2020-06-18 14:29:242.1.2 xlrd安装2.2 xlrd使用2.2.1 xlrd导入2.2.2 Python操作工作簿2.2.3 Python操作工作表2.2.4 Python读取excel行数据2.2.5 Python读取excel列数据2.2.6 Python读取excel单元格数据2.2.7 excel合并后的单元格获取... -
python读取excel表的数据处理,字典转为列表
2020-07-19 17:59:05读取excel表的数据处理,字典转为列表 撰写的初衷 该博客的方法是为了更好的处理openpyxl得到的数据,将我上篇博客的openpyxl的输入内容,转换为实际可使用的列表类型 基本描述 通过openpyxl的二次封装,得到的数据... -
python 读取excel所有数据_python在CMD界面读取excel所有数据的示例
2021-03-05 16:49:20代码import xlrdimport osfrom prettytable import PrettyTableimport pandas#创建一个Excel表类class Excel(object):def __init__(self, path):self.path = path//路径要加上文件名#读取Excel内全部数据 参数sname... -
用python读取excel数据、并作图_python读取excel数据并制图
2021-01-14 23:39:24#读excel数据#打开文件数据= _workbook (' E: \\桌面\\ ')表= _by_index(0) #得到总行数nrows = #得到的总数列ncols = #得到一个列的值,比如第四列4 = _values(3) #一个列的值,例如,第八列6 = _values (7) j = 0 h =... -
如何使用python读取excel表的某一列_使用python采集Excel表中某一格数据
2020-11-30 11:09:342、sheet = workbook['sheet1'] 打开表格sheet1 选择某一格也有两种方式: 1、cell = sheet['A1'] 获取A1格子 2、cell = sheet.cell(row=1,column=1) 获取第一行第一列的格子 cell.value 该格子的数据 from openpyxl... -
python 显示表格数据_python显示excel表格数据-怎么用python读取excel表格的数据
2020-11-30 01:55:38怎么用python读取excel表格的数据#导入包import xlrd#设置路径path='C:\\Users\\jyjh\\Desktop\\datap.xlsx'#打开data=xlrd.open_workbook(path)#查询表sheets=data.sheets()sheets可以通过函数、索引、获得工作表。... -
python读取excel股票历史数据_python读取excel表格的数据-阿里云开发者社区
2021-01-30 03:24:461.在Windows命令行中安装第三方模块xlrd,先切到python安装目录(Python34),...新建一个excel表,然后保存,造数据3.编写python脚本#utf-8import xlrd #导入第三方模块xlrdexcel = xlrd.open_workbook('C:\\表格.xl... -
python读取excel表头_13-用 Python 读写 Excel 文件
2020-12-13 02:50:55在以前,商业分析对应的英文单词是Business Analysis,大家用的分析工具是Excel,后来数据量大了,Excel应付不过来了(Excel最大支持行数为1048576行),人们开始转向python和R这样的分析工具了介绍可以创建 Excel ... -
Python读取Excel表并分析
2019-06-19 16:54:25首先读取Excel,犯了不少错,因为这个表有一个表头,所以在读取的时候去除掉表头。 df = pd.read_excel('计算机学生表.xlsx', header=1) 这个时候才正式读取到了 Excel 的字段和内容,然后开始了一通分析 我就... -
python3读取excel数据-python3读取Excel数据
2020-11-01 12:52:02实现场景:1、读取Excel表数据2、把数据作为参数传给后面的函数3、后面的函数循环读取参数执行操作本案例Excel内容为下图,becks为表名image.pngimage先贴代码import xlrd#读取excel文件def excel():wb = xlrd.open_... -
windows下Python如何读取Excel表数据
2020-05-05 17:26:25常用的库是 python-excel 系列: xlrd、xlwt、xlutils、openpyxl xlrd - 读取 Excel 文件 xlwt - 写入 Excel 文件 xlutils - 操作 Excel 文件的实用工具,如复制、分割、筛选等 openpyxl- ... -
python xlrd读取excel所有数据_Python xlrd模块读取Excel表中的数据
2021-02-03 01:31:572、xlrd模块的一些常用命令①打开excel文件并创建对象存储data = xlrd.open_workbook(文件路径)②获取文件中所有工作表的名称data.sheet_names()③根据工作表的名称获取里面的行列内容table = data.sheet_by_name('...