Python办公自动化Day2-openpyxl

news2024/9/28 9:29:26

目录

  • 文章声明⭐⭐⭐
  • 让我们开始今天的学习吧!
    • 常规操作
    • 添加数据
    • 遍历所有单元格数据
    • 合并/取消合并单元格
    • 添加/删除行与列
    • 移动指定范围单元格


文章声明⭐⭐⭐

  1. 该文章为我(有编程语言基础,非编程小白)的 Python办公自动化自学笔记
  2. 知识来源为 B站UP主(好久没吃肉灬)的Python办公自动化课程视频,归纳为自己的语言与理解记录于此并加以实践
  3. 关于办公自动化,知识基础、概念我都不会记录于此,更多的是记录实践,即以具体实操代码的形式展现给大家
  4. 不出意外的话,我大抵会 持续更新
  5. 想要了解前端开发(技术栈大致有:Vue2/3、微信小程序、uniapp、HarmonyOS、NodeJS、Typescript)与Python的小伙伴,可以关注我!谢谢大家!

让我们开始今天的学习吧!

原始表结构与内容如下:
在这里插入图片描述


常规操作

# 导入模块
from openpyxl import Workbook, load_workbook
# 加载工作表
wb = load_workbook('MyExcel.xlsx')
# 加载当前激活的工作簿
ws1 = wb.active
# 加载指定名字的工作簿
ws2 = wb['Sheet1']
# 获取单元格的方式
print(ws1['A1'].value)  # name
# 修改内容
ws1['B2'].value = 100  # 99 -> 100
# 查看工作簿
print(wb.sheetnames)  # ['Grades', 'Sheet1', 'Sheet2']
# 添加工作簿,第一个参数为工作簿名,第二个参数为工作簿列表里的位置(索引)
wb.create_sheet('Sheet3', 3)
# 保存内容
wb.save('MyExcel.xlsx')  # 参数为文件名


添加数据

from openpyxl import load_workbook

wb = load_workbook('MyExcel.xlsx')
ws = wb['Sheet1']

# 添加数据
ws.append(['Name', 'Age', 'Gender', 'Department'])
ws.append(['Richie', '21', 'Male', 'Student'])
ws.append(['Taylor', '34', 'Female', 'Singer'])
ws.append(['Mike', '32', 'Male', 'Teacher'])

wb.save('MyExcel.xlsx')

效果如下:
在这里插入图片描述


遍历所有单元格数据

# 导入模块
from openpyxl import Workbook,load_workbook
from openpyxl.utils import get_column_letter

# 加载工作表、工作簿
wb = load_workbook('MyExcel.xlsx')
ws = wb['Grades']

# 循环遍历数据
for row in ws.rows:
    for data in row:
        print(data.value)
-------------------------------------
name
math
science
english
gym
Richie
99
87
84
89
Taylor
87
67
99
56
Mike
42
67
87
76
Jack
94
78
76
67
Jane
78
34
98
45

合并/取消合并单元格

合并单元格代码如下:

# 导入模块
from openpyxl import Workbook,load_workbook
from openpyxl.utils import get_column_letter

# 加载工作表、工作簿
wb = load_workbook('MyExcel.xlsx')
ws = wb['Sheet2']

# 合并单元格
ws.merge_cells('A1:D1')
ws.merge_cells('A2:D4')

# 保存
wb.save('MyExcel.xlsx')

效果如下:
在这里插入图片描述
取消合并单元格代码如下:

# 导入模块
from openpyxl import Workbook,load_workbook
from openpyxl.utils import get_column_letter

# 加载工作表、工作簿
wb = load_workbook('MyExcel.xlsx')
ws = wb['Sheet2']

# 取消合并单元格
ws.unmerge_cells('A1:D1')
ws.unmerge_cells('A2:D4')

# 保存
wb.save('MyExcel.xlsx')

效果如下;
在这里插入图片描述


添加/删除行与列

添加行代码如下:

# 导入模块
from openpyxl import Workbook,load_workbook
from openpyxl.utils import get_column_letter

# 加载工作表、工作簿
wb = load_workbook('MyExcel.xlsx')
ws = wb['Grades']

# 添加行,同理添加列 方法为insert_cols(数字)
ws.insert_rows(1)
ws.insert_rows(1)

# 保存
wb.save('MyExcel.xlsx')

效果如下:
在这里插入图片描述
删除行代码如下:

# 导入模块
from openpyxl import Workbook,load_workbook
from openpyxl.utils import get_column_letter

# 加载工作表、工作簿
wb = load_workbook('MyExcel.xlsx')
ws = wb['Grades']

# 删除行,同理删除列 方法为delete_cols(数字)
ws.delete_rows(1)
ws.delete_rows(1)

# 保存
wb.save('MyExcel.xlsx')

效果如下:
在这里插入图片描述


移动指定范围单元格

代码如下:

# 导入模块
from openpyxl import Workbook,load_workbook
from openpyxl.utils import get_column_letter

# 加载工作表、工作簿
wb = load_workbook('MyExcel.xlsx')
ws = wb['Grades']

# 移动指定范围单元格,第一个参数为一个范围的单元格,rows正数为向下,cols正数为向右
ws.move_range('A5:E6', rows=2, cols=2)

# 保存
wb.save('MyExcel.xlsx')

效果如下:
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

毫米波RIS研究测试方案:一站式助力工程师探索高频通信未来

方案介绍 在当前科技高速发展的时代,毫米波通信技术因其高数据传输速率和大容量的潜力而备受瞩目。其中,可重构智能表面(RIS)作为一项创新技术,正在为毫米波通信系统的设计和优化带来新的可能性。为了应对这一领域的研…

SQL Server的权限设置

实验环境(实验案例一) 某公司部署了 SQL Server 2016用来存储网站数据,由系统管理员进行维护.在bdon数据库中 已创建了class表。 需求描述 赋予用户zhangsan在bdqn数据库中创建表的权限和对class表查询和更新数据的权限。

持续集成交付CICD:Jira 发布流水线

目录 一、实验 1.环境 2.GitLab 查看项目 3.Jira 远程触发 Jenkins 实现合并 GitLab 分支 4.K8S master节点操作 5.Jira 发布流水线 一、实验 1.环境 (1)主机 表1 主机 主机架构版本IP备注master1K8S master节点1.20.6192.168.204.180 jenkins…

java八股 mysql优化

数据库篇-01-MySQL篇-课程介绍_哔哩哔哩_bilibili 1.定位慢查询 2.分析优化慢查询 3.索引概念及结构 3.1 红黑树(一种自平衡的二叉排序树) 节点可以自动平衡保证log2 n的查找复杂度. 但因为是二叉树,数据多了层数还会多。 所以找一个多叉树 3…

HarmonyOS 组件隔代双向数据通信Provide与Consume

今天 我们说一个场景 我们可以编写代码如下 Entry Component struct Index {State name:string "小猫猫";build() {Row() {Column() {Text(this.name)Button("改个name").onClick(() > {this.name this.name "小猫猫"?"小狗狗&quo…

whistle网络监控 fiddler的开源替代

github源码:https://github.com/avwo/whistle 官网说明:http://wproxy.org/whistle/ windows/mac一键安装 先安装nodejs 然后运行命令 npm i -g whistle && w2 start --init启动 w2 start停止 w2 stop注意停止后要手动关闭代理服务器设置 w…

值得推荐免费数据恢复教程,12个数据恢复软件

您还记得当您删除错误的文件或格式化错误的驱动器时的恐惧感吗?我有过这样的感觉。我做了什么?我要跟老板说什么? 本综述旨在给您带来希望。Windows 数据恢复软件类型有望拯救您并恢复您的数据。在本指南中,我们探讨哪些计划是最…

Linux系统安装及管理

目录 一、Linux应用程序基础 1.1应用程序与系统命令的关系 1.2典型应用程序的目录结构 1.3常见的软件包装类型 二、RPM软件包管理 1.RPM是什么? 2.RPM命令的格式 2,1查看已安装的软件包格式 2.2查看未安装的软件包 3.RPM安装包从哪里来? 4.挂…

HBase 超大表迁移、备份、还原、同步演练手册:全量快照 + 实时同步(Snapshot + Replication)不停机迁移方案

博主历时三年精心创作的《大数据平台架构与原型实现:数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行,点击《重磅推荐:建大数据平台太难了!给我发个工程原型吧!》了解图书详情,京东购书链接:https://item.jd.com/12677623.html,扫描左侧二维…

TikTok全球搜奇:探索短视频中的未知世界

在TikTok的短视频平台上,用户们纷纷展示着自己的创意、生活和独特技能。这个平台不仅是一种社交媒体,更是一个全球搜奇的窗口,将用户带入一个充满未知、奇妙的世界。本文将深入探讨TikTok如何成为一个全球搜奇的平台,引领用户探索…

制作一个可以离线安装的Visual Studio安装包

须知 前提条件,需要电脑可以正常上网且网速还行,硬盘可以空间容量足够大,怎么判断容量够用?由组件数量的多少来决定。Visual Studio 频道和发布节奏 https://learn.microsoft.com/zh-cn/visualstudio/productinfo/release-rhythm…

后台管理百度地图-获取位置信息

1.在输入框中输入位置获取经纬度,拿到经纬度用定点标记在地图上 2.鼠标点击地图中的位置,调用组件点击事件拿到经纬度用定点标记在地图上,删除之前的定点标记,拿到的地址赋值到输入框中, 引入百度地图: &l…

SEATA安装使用

2023年 12 月 25 号,本文正在手打中。未完... 官网:https://seata.io/ 介绍:http://www.dreamwu.com/post-1741.html 版本 组件版本SpringBoot2.3.12.RELEASESpringCloudHoxton.SR12SpringCloudAlibaba2.2.10-RC1Nacos2.2.0Sentinel1.8.6S…

Unity程序向Web服务器发送数据

Unity程序向Web服务器发送数据 一、介绍二、HTTP协议三、新建Unity工程,创建脚本1.新建Unity工程,创建脚本WebManager.cs,将其指定给场景中的任意游戏体。2.在WebManager.cs中添加一个m_info属性和OnGUI函数显示UI: 四、GET请求在…

基于OpenCV的图像颜色与形状识别设计与实现实验指导书

基于OpenCV的图像颜色与形状识别设计与实现实验指导书 一、实验目的: 通过本实验,学生将了解图像颜色与形状的基本概念,并掌握使用OpenCV进行图像颜色与形状识别的方法。具体操作包括图像剪裁、颜色识别、轮廓检测。 二、实验器材&#xff…

深入理解 LockWindowUpdate: 该函数的作用

今天说说被误解的 LockWindowUpdate 。 这是 LockWindowUpdate 系列中的第一篇,我将会讲讲它的作用、用途以及(也许最重要的是)对它的误用。 LockWindowUpdate 的作用非常简单。 当一个窗口被锁定时,所有试图绘制它或其子窗口的…

太牛叉了!国产 AI 智能体惊艳问世,全面致敬 FastGPT!

太震撼了!太厉害了!昆仑万维正式发布了「天工 SkyAgents」平台,助力大模型走入千家万户。你听听,这个名字一听就有一种巧夺天工的感觉,技艺那是相当的高超。 这个平台基于昆仑万维「天工大模型」打造,具备…

豪约客牛排直播间圣诞狂欢,创意云倾力打造节日“氛围感”直播间

12月22日,豪约客牛排开启圣诞节直播专场活动,蓝海创意云vLive虚拟直播系统助力豪约客牛排顺利开播,为本地生活类商家呈现一场高品质的沉浸式直播新体验。vLive虚拟直播系统https://live.vsochina.com/cn 创意云助力豪约客牛排 呈现圣诞氛围感…

VR全景展示的功能有哪些?适合用于哪些领域?

现如今,VR全景展示技术已经逐渐融入了我们的日常生活中,可能大部分人都还没有意识到VR全景是如何应用的,但其实VR全景针对多个行业的垂直领域都有一定的落地使用。在互联网高速发展的今天,多媒体所包含的种类也越来越多&#xff0…

MFC 工具栏

目录 工具栏概述 工具栏的使用 添加工具栏资源 创建,加载工具栏 设置工具栏停靠 工具栏概述 CToolBarCtrl-父类CWnd,封装了关于工具栏控件的各种操作。 CToolBar一父类CControlBar,封装了关于工具栏的操作,以及和框架窗口的…