软件测试|Python openpyxl库使用指南

简介

我们之前介绍过,python在自动化办公方面可以大放异彩,因为Python有许多的第三方库,其中有很多库就支持我们对office软件进行操作,熟练的使用Python对office进行操作,可以实现自动化办公,极大提升我们的工作效率。本篇文章,我们就来介绍一下处理Excel的第三方库,openpyxl的使用。

安装openpyxl库

在我们使用openpyxl库之前,我们需要先安装它,安装的方式与其他的第三方库一致,使用pip命令安装即可,命令如下:

pip install openpyxl

打开Excel文件

首先,让我们看看如何打开一个已经存在的Excel文件:

import openpyxl

# 打开Excel文件
workbook = openpyxl.load_workbook('demo.xlsx')

# 选择工作表
sheet = workbook.active  # 或者使用 workbook['Sheet1']

读取和写入单元格数据

我们可以使用cell对象来读取和写入单元格的数据:

value = sheet['A1'].value
print(value)

# 写入单元格数据
sheet['B2'] = '20'
value2 = sheet['B2'].value
print(value2)

workbook.save('demo.xlsx')

------------------
输出结果如下:
姓名
20

遍历工作表数据

要遍历整个工作表的数据,您可以使用iter_rows()iter_cols()方法:

# 遍历行
for row in sheet.iter_rows(min_row=2, max_row=6, min_col=1, max_col=3):
    for cell in row:
        print(cell.value, end='\t')
    print()
--------------
输出结果如下:
Tony	20	理发师	
Linda	22	会计	
Harry	24	销售	
Muller	23	工程师	
John	30	教师

添加和删除工作表

我们还可以添加新的工作表,并删除已存在的工作表:

# 添加工作表
new_sheet = workbook.create_sheet('NewSheet')

# 删除工作表
del workbook['Sheet2']

保存Excel文件

在完成对Excel文件的操作后,不要忘记保存更改:

# 保存更改
workbook.save('demo.xlsx')

样式和格式设置

openpyxl还支持对单元格的样式和格式进行设置。我们可以对字体、背景色、对齐方式等进行设置:

我们先看一下当前demo.xlsx的样式以及单元格格式,如下图:

现在我们对样式以及单元格格式进行设置。代码如下:

import openpyxl
from openpyxl.styles import Font, PatternFill, Alignment

workbook = openpyxl.load_workbook('demo.xlsx')

# 选择工作表
sheet = workbook.active

# 设置字体
font = Font(name='Arial', bold=True)
sheet['A1'].font = font

# 设置背景色
fill = PatternFill(fill_type='solid', fgColor='FFFF00')
sheet['B1'].fill = fill

# 设置对齐方式
align = Alignment(horizontal='center', vertical='center')
sheet['C1'].alignment = align



workbook.save('demo.xlsx')

运行代码,打开demo.xlsx,如下图:

总结

openpyxl是一个功能强大的库,能够帮助我们处理和操作Excel文件。在这篇文章中,我们介绍了如何使用openpyxl库打开、读取、写入和保存Excel文件,以及如何遍历数据、添加和删除工作表,以及设置单元格样式。这只是openpyxl的一部分功能,可以在其官方文档中找到更多详细信息和用法示例。

使用openpyxl库,我们可以轻松地在Python中处理Excel文件,从而进行数据处理、报告生成等任务,而不需要依赖Microsoft Excel软件。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/308351.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【博士每天一篇论文-算法】Optimal modularity and memory capacity of neural reservoirs

阅读时间:2023-11-15 1 介绍 年份:2019 作者:Nathaniel Rodriguez 印第安纳大学信息学、计算和工程学院,美国印第安纳州布卢明顿 期刊: Network Neuroscience 引用量:39 这篇论文主要研究了神经网络的模块…

WEB 3D技术 three.js 光照与阴影

本文 我们来说 灯光与阴影 之前 我们有接触到光照类的知识 但是阴影应该都是第一次接触 那么 我们先来看光 首先是 AmbientLight 环境光 你在官网中搜索 AmbientLight 官方是就写明了 环境光是不会产生阴影的 因为 它没有反向 然后是 DirectionalLight 平行光 它是可以投射阴…

Java建筑工程建设智慧工地源码

智慧工地管理平台依托物联网、互联网,建立云端大数据管理平台,形成“端云大数据”的业务体系和新的管理模式,从施工现场源头抓起,最大程度的收集人员、安全、环境、材料等关键业务数据,打通从一线操作与远程监管的数据…

代理IP连接不上/网速过慢?如何应对?

当您使用代理时,您可能会遇到不同的代理错误代码显示代理IP连不通、访问失败、网速过慢等种种问题。 在本文中中,我们将讨论您在使用代理IP时可能遇到的常见错误、发生这些错误的原因以及解决方法。 一、常见代理服务器错误 当您尝试访问网站时&#…

MySQL 存储引擎全攻略:选择最适合你的数据库引擎

1. MySQL的支持的存储引擎有哪些 官方文档给出的有以下几种: 我们也可以通过SHOW ENGINES命令来查看: 还可以通过ENGINES表查看 2. 存储引擎比较 我们通过存储引擎表来看各自的优点: InnoDB 默认的存储引擎(SUPPORT字段为D…

LeetCode 36 有效的数独

题目描述 有效的数独 请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考…

[openGL]在ubuntu20.06上搭建openGL环境

就在刚刚, 我跑上了一个6小时后出结果的测试程序. 离下班还有很久, 于是我打开了接单群 , 发现了很多可以写的openGL项目. 但是!!我的电脑现在是ubuntu呀, 但是不要慌!!!接下来我一步一步教你如何完美搭建一个ubuntu上的openGL环境. 保证一个坑也不会踩! 文章目录 创建项目工作…

借助Gitee将typora图片上传CSDN

概述 前面已经发了一个如何借助Github将typora上的图片上传到csdn上,但这有个缺陷:需要科学上网才能加速查看已经上传到github上的图片,否则就会出现已经上传的图片,无法正常查看的问题 如何解决? 那就可以使用Gite…

前端(angular)在谷歌(chrome)浏览器使用高德地图api定位报错超时geolocation time out ,能定位但不安全的方法

已知信息整合 正如大家搜到的大佬说的原因是chrome浏览器本身的问题。我换成edge就可以。高德地图给出的地图定位api的常见问题,这是另外还有个别浏览器(如google Chrome浏览器等)本身的定位接口是黑洞 以下是能定位但不安全的方法 连接上…

Java面试之集合篇

前言 本篇主要总结JAVA面试中关于集合相关的高频面试题。本篇的面试题基于网络整理以及自己的总结编辑。在不断的完善补充哦。欢迎小伙伴们在评论区发表留言哦! 1、基础 1.1、Java 集合框架有哪些? Java 集合框架,大家可以看看 《Java 集…

Excel·VBA按指定顺序排序函数

与之前写过的《ExcelVBA数组冒泡排序函数》不同,不是按照数值大小的升序/降序对数组进行排序,而是按照指定数组的顺序,对另一个数组进行排序 以下代码调用了《ExcelVBA数组冒泡排序函数》bubble_sort_arr函数(如需使用代码需复制…

18张AI电脑动漫超清壁纸免费分享

18张AI电脑动漫壁纸,紫色系和暗黑系,都很不错,喜欢的朋友可以拿去 CSDN免积分下载

【云计算】云计算概述

1. 云计算概述 1.1 云计算的定义 美国国家标准与技术研究院(NIST)定义 云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件…

AI墨墨交流群正式成立:探索科技前沿,共建智能未来

在这个充满变革的时代,AI技术正如涌泉般迸发,带来无限可能。我们深感,唯有汇聚智慧,方能更好地驾驭这股前沿科技的潮流。因此,我们自豪地宣布:AI墨墨交流群正式成立了!这不仅是一个交流群&#…

小白苦恼:电脑那么多USB口,怎么知道哪个读写更快?

前言 最近有个朋友和小白抱怨:电脑那么多USB接口,有些接口在传输文件的时候实在慢的很。 电脑诞生以来,USB接口就一直存在。但是USB接口还是长得几乎一样,不仔细去研究都不知道哪个USB会更快。 许多小伙伴就会直接放弃辨认&…

阿里云服务器新购、续费、升级优惠活动及代金券领取入口汇总

阿里云作为国内领先的云计算服务提供商,一直以来都为广大的用户提供了优质、稳定、高效的服务。为了更好地满足用户的需求,阿里云会不定期地推出各种优惠活动,包括新购、续费、升级优惠活动以及代金券领取等。本文将为大家详细介绍这些优惠活…

软件测试|详解 Pytest 参数化:简化测试用例的编写

简介 Pytest 是一个广泛使用的 Python 测试框架,它提供了丰富的功能来编写和执行测试用例。其中一个强大的特性是参数化,它允许我们通过一种简洁的方式运行多个输入参数的相似测试用例,从而减少冗余的代码。本文将详细介绍 Pytest 的参数化功…

文心、讯飞、ChatGPT大模型横向比较

三种大模型的横向比较分析发现,大模型最终的优异表现依赖于模型规模的突破。 通过比较不同规模的大模型,分析发现大模型的强大生成能力主要源自模型的参数量级的飞跃。尽管方法论上大同小异,但参数量的指数级增长是实现质的飞跃的关键所在。“大力出奇迹”可以说是大模型取得辉…

电子学会C/C++编程等级考试2023年12月(一级)真题解析

C/C++编程(1~8级)全部真题・点这里 第1题:数的输入和输出 输入一个整数和双精度浮点数,先将浮点数保留2位小数输出,然后输出整数。 时间限制:1000 内存限制:65536 输入 一行两个数,分别为整数N(不超过整型范围),双精度浮点数F,以一个空格分开。 输出 一行两个数,分…

嵌入式(二)单片机基础 | 单片机特点 内部结构 最小系统 电源 晶振 复位

上一篇文章我们介绍了嵌入式系统 嵌入式系统(Embedded System)是一种特定用途的计算机系统,它通常嵌入在更大的产品或系统中,用于控制、监测或执行特定的任务。这些系统通常由硬件和软件组成,旨在满足特定的需求&…