Python —— excel文件操作(超详细)

这篇具有很好参考价值的文章主要介绍了Python —— excel文件操作(超详细)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景

很多公司还是用excel去管理测试用例的,所以为了减少重复繁琐的导出导出工作,学会如何用代码操作excel表格很实用~

1、读取excel文件基本步骤

1、操作excel的一些库

1、xlrd:读取库,xlwt:写入,现在基本不用,因为只能处理.xls这种格式的数据

2、使用openpyxl库:不支持的 .xls格式,支持的格式:.xlsx、.xlsm、.xltx、.xltm,可以将.xls 转化为 xlsx格式

        - 安装openpyxl,使用 pip install openpyxl

        - 导入:import | from  openpyxl  import  xxx

2、读取的步骤

1、读取单元格数据

  1. 获取表格的工作簿对象(用到 openpyxl中的load_workbook模块)
  2. 得到表单,通过sheet名称 — sheet
  3. 获取单元格 — cell
  4. 获取单元格数据 — cell.value

实战演练:

excel表格如下:

python读取excel详细步骤,python

代码实战:

from openpyxl import load_workbook
import pathlib

# 获取excel的相对路径
cur_path = pathlib.Path(__file__).absolute()
excel_path = cur_path.parent/"testcase64.xlsx"

# 第一步,获取表格的工作簿对象
wb = load_workbook(excel_path)
print(wb) # <openpyxl.workbook.workbook.Workbook object at 0x03EFCD60>

# 第二步,得到表单——sheet
sheet = wb["login"]
print(sheet)

# 第三步,获取单元格数据
cell = sheet.cell(row=1,column=3)
print(cell)

# 第四步,获取单元格数据 -- value
cell_value = sheet.cell(row=2,column=2).value
print(cell_value)   # 输出:登录正常

# 获取表单中所有的数据 -- 转化为列表
# 因为 sheet.values的输出是“<generator object Worksheet.values at 0x03817840” > 就是一个生成器,可以转化为列表的形式
datas = list(sheet.values)
print(datas)    # 是一个列表,每一个数据都是元组
'''
[
('id', 'title', 'method', 'header', 'url', 'data', 'expected'), 
(1, '登录正常', 'post', '{"Content-Type":"application/json"}', 'https://openapiv5.ketangpai.com//UserApi/login', '{"email":"2378807189@qq.com ","password":"lemon123456 ","remember":"0","code":"","mobile":"","type":"login","reqtimestamp":1695045752424}', '{"status":1,"code":10000,"message":"访问成功","data":{"token":"skjdaskjhd"}'), 
(2, '登录异常', 'post', '{"Content-Type":"application/json"}', 'https://openapiv6.ketangpai.com//UserApi/login', '{"email":"2378807189@qq.com ","password":"lemon","remember":"0","code":"","mobile":"","type":"login","reqtimestamp":1695045752424}', '{"status":0,"code":"30508","message":"登录失败"}')
]
'''

'''
全部读取的数据转化为项目里需要的格式数据
'''
# 第一步,取出标题
title = datas[0]

# 第二步,再一次获取后续的每一行数据,跟title压缩成字典
case_list = []
for case in datas[1:]:
    case_dict = dict(zip(title,case))
    case_list.append(case_dict)
print(case_list)

# 通过列表推导式来遍历
case_list1 = []
case_list1 = [case_list1.append(dict(zip(title,case))) for case in datas]
print(case_list)

 2、读取excel文件的优化

优化思路,代码分层思想:按照不同的功能代码进行不同包的管理(自动化框架的结构):

  1. 工具层:tools/common/util,封装好的公共方法,类同于Jmeter里的函数助手,比如对excel读取数据的处理过程
  2. 测试数据层:data/testdata,放测试数据,例如:txt文件、excel表格等
  3. 测试用例层:主要维护用例(pytest框架主要做的事情
  4. 测试结果输出:如 测试报告、测试日志
  5. 入口文件:main.py、run.py一般放在最外层

优化实战:

1、按照分层思想,新建data层和tools层,并完善其中的文件,参考如下图片:

python读取excel详细步骤,python

2、将获取excel_path和获取数据的方式分别写到handle_excel文件和handle_path两个文件中,如下:

'''
 handle_excel文件
'''
from openpyxl import load_workbook
from d11_excel操作和pytest框架.tools.handle_path import exce_path

def read_excel(filename, sheet)
    wb = load_workbook(filename)
    sheet = wb[sheet]
    datas_list = list(sheet.values)
    title = datas_list[0]
    list_case = []

    for case in datas_list[1:]:
        tep_dict = dict(zip(title,case))
        list_case.append(tep_dict)
    return list_case
'''
handle_path.py
'''
import pathlib

cur_path = pathlib.Path(__file__).absolute()
exce_path = cur_path.parent.parent/"data"/"testcase64.xlsx"

if __name__ == '__main__':
    print(exce_path)

3、一些扩展(如何快速查看excel表格中的数据类型)

可以通过debug的方式,看到我们从excel中读取的数据的类型,举例如下:

python读取excel详细步骤,python

python读取excel详细步骤,python文章来源地址https://www.toymoban.com/news/detail-773037.html

到了这里,关于Python —— excel文件操作(超详细)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【python读取excel文件保存为矩阵形式】

    python实现对excel表格不同文件形式的读取 我最近在用 pycharm 读取excel数据出现几个莫名其妙的问题, 我解决问题之后,觉得还是把这些坑都写清楚,方便 python 的初学者。  用xlrd库读取.xls文件  用库openpyxl读取.xlsx文件  \\\'.xls文件的读取\\\' \\\'.xlsx文件的读取\\\' 

    2024年02月13日
    浏览(51)
  • Python读取csv、Excel文件生成图表

    简介 本文章介绍了通过读取 csv 或 Excel 文件内容,将其转换为折线图或柱状图的方法,并写入 html 文件中。 目录 1. 读取CSV文件 1.1. 生成折线图 1.1.1. 简单生成图表 1.1.2. 设置折线图格式 1.2. 生成柱状图 1.2.1. 简单生成图表 1.2.2. 设置柱状图格式 2. 读取Excel文件 2.1. 生成折线图

    2024年02月15日
    浏览(52)
  • Python自动化测试,Excel数据驱动读取 xlrd实战(超详细)

    xlrd模块安装 xlrd常用方法 1、导入模块 import xlrd 2、打开文件 3、获取sheet 获取所有sheet名字:x1.sheet_names() 获取sheet数量:x1.nsheets 获取所有sheet对象:x1.sheets() 通过sheet名查找:x1.sheet_by_name(\\\"test”) 通过索引查找:x1.sheet_by_index(3) 输出:

    2024年02月11日
    浏览(48)
  • Python:使用openpyxl读取Excel文件转为json数据

    openpyxl - A Python library to read/write Excel 2010 xlsx/xlsm files 文档 https://openpyxl.readthedocs.io/en/stable/ https://pypi.org/project/openpyxl/ 安装 环境 读取文件示例:将Excel文件读取为json数据 有如下一个文件 data.xlsx 实现代码 输出读取的json数据 读写示例

    2024年02月15日
    浏览(73)
  • python读取表格数据将pdf文件转excel文件最新可用方法

    【ptf】 【转换后Excel】 可用看到表格内容位置一致,转换完成 (1)安装camelot库 (2)转换代码

    2024年02月15日
    浏览(43)
  • python如何批量读取一个文件夹里的所以excel文件

    在数据分析工作中,尝尝需要处理多个不同月的excel文件,但无奈与excel文件的局限性,不能同时处理多个月的excel数据,所以python的批量读取excel文件就显得十分重要,下面我将展示如何用python将每个月度的excel数据进行读取并汇总处理和输出。 最好excel的文件名就是按照日期

    2024年02月16日
    浏览(63)
  • 用Python的pandas读取excel文件中的数据

    hello呀!各位铁子们大家好呀,今天呢来和大家聊一聊用Python的pandas读取excel文件中的数据。 使用pandas的 read_excel() 方法,可通过文件路径直接读取。注意到,在一个excel文件中有多个sheet,因此,对excel文件的读取实际上是读取指定文件、并同时指定sheet下的数据。可以一次读

    2024年02月02日
    浏览(58)
  • [excel与dict] python 读取excel内容并放入字典、将字典内容写入 excel文件

    一 读取excel内容、并放入字典 1 读取excel文件 2 读取value,舍弃行号 3 读取为字典 一 读取excel内容、并放入字典(完整代码) 二、将字典内容写入 excel文件 1 假设已有字典内容为: 即student列表里有4个字典, 第一个字典里面有3对key-value \\\"num\\\": 1, \\\"name\\\": \\\"cod1\\\", \\\"wfm\\\": 0.1 2 导入Workb

    2024年02月04日
    浏览(51)
  • Jupyter:用python读取pandas的csv文件,txt文件和excel文件

    首先打开Anaconda Powershell Prompt,输入豆瓣镜像源相关包的下载地址  pip  install  -i  https://pypi.doubanio.com/simple/  --trusted-host pypi.doubanio.com com后面要有空格,空格后面加pandas,后面好识别pd(pandas是包名,也可以改成其他任意名字,但是尽量不要改,容易出错) 按回车,显示S

    2024年02月04日
    浏览(67)
  • Python读取excel文件往Elasticsearch数据插入时遇到的问题

    背景:需要完成一个功能,使用python读取一个excel文件进行读取数据,然后将这些数据直接保存到Elasticsearch中。 用到的工具:python、Elasticsearch 一、问题描述 在将项目部署到甲方的时候,出现用户导入文件无法进行正常插入到Elasticsearch中的情况,当时看的服务器的日志,报

    2023年04月09日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包