Python办公自动化Day2-openpyxl

目录

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


文章声明⭐⭐⭐

  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')

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

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

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

相关文章

2023年第6届传智杯省赛第二场复赛 解题报告 | 珂学家

前言 因为OJ的承办方是牛客,除了初赛用的原题有点争议外,复赛用的是原创的新题(点赞)。 说真的,这个难度,超过我的想象,打得非常的吃力。 我其实总共打了两场初赛,一场复赛,外加VP一场复赛&a…

如何用Excel制作一张能在网上浏览的动态数据报表

前言 如今各类BI产品大行其道,“数据可视化”成为一个热门词汇。相比价格高昂的各种BI软件,用Excel来制作动态报表就更加经济便捷。今天小编就将为大家介绍一下如何使用葡萄城公司的纯前端表格控件——SpreadJS来实现一个Excel动态报表: 实…

C语言中关于指针的理解

#include <stdio.h> int main() {int a11;int *p&a; //因为a是整型的&#xff0c;所以我们定义指针p的时候要和a的类型一样char b;char *pa&b; //同理&#xff0c;b是字符型&#xff0c;所以这里的pa也要用字符型return 0; }因为*p指向的是地址&…

高级RGA(二):父文档检索器

在我之前写的<<使用langchain与你自己的数据对话>>系列博客中&#xff0c;我们介绍了利用大型语言模型LLM来检索文档时的过程和步骤&#xff0c;如下图所示&#xff1a; 我们在检索文档之前&#xff0c;通常需要对文档进行切割&#xff0c;然后将其存入向量数据库如…

Seata源码——TCC模式总结

什么是TCC TCC 是分布式事务中的二阶段提交协议&#xff0c;它的全称为 Try-Confirm-Cancel&#xff0c;即资源预留&#xff08;Try&#xff09;、确认操作&#xff08;Confirm&#xff09;、取消操作&#xff08;Cancel&#xff09; TCC的步骤 1.Try&#xff1a;对业务资源…

米勒电容与米勒效应

米勒电容与米勒效应 米勒效应米勒效应的形成原理及分析米勒效应的危害和改进 米勒效应 Ciss CGE CGC 输入电容 Coss CGC CEC 输出电容 Crss CGC 米勒电容 下面我们以MOS中的米勒效应来展开说明&#xff1a; 米勒效应在MOS驱动中臭名昭著&#xff0c;它是由MOS管的米勒电容引发…

揭秘NCO:数字领域的音乐之旅

好的&#xff0c;让我们更详细地解析NCO的数学奥秘&#xff0c;深入探讨数字音乐的乐谱。在我们深入数学公式之前&#xff0c;让我们回顾一下&#xff0c;NCO就像是一位神奇的音符设计师&#xff0c;创造数字音乐的灵感源泉。 NCO&#xff1a;数字音符的魔法创造者 NCO&#x…

JavaEE:CAS详解

一.什么是CAS CAS: 全称 Compare and swap &#xff0c;字面意思 :” 比较并交换 “ &#xff0c;一个 CAS 涉及到以下操作&#xff1a; 我们假设内存中的原数据V&#xff0c;旧的预期值A&#xff0c;需要修改的新值B。 我们来进行操作&#xff1a; 1. 比较 V 和 A 是否相等。…

C语言中关于操作符的理解

本篇文章只会列出大家在生活中经常使用的操作符 算术操作符 在算数操作符中常用的有&#xff0c;&#xff0c;-&#xff0c;*&#xff0c;/&#xff0c;% &#xff0c;我们重点讲一讲 / (除) 和 % (模) " / "运算 #include <stdio.h>int main() {int a5/2;fl…

C/C++常见面试题(四)

C/C面试题集合四 目录 1、什么是C中的类&#xff1f;如何定义和实例化一个类&#xff1f; 2、请解释C中的继承和多态性。 3、什么是虚函数&#xff1f;为什么在基类中使用虚函数&#xff1f; 4、解释封装、继承和多态的概念&#xff0c;并提供相应的代码示例 5、如何处理内…

鸿蒙应用开发 常用组件与布局

简介 HarmonyOS ArkUI 提供了丰富多样的 UI 组件&#xff0c;您可以使用这些组件轻松地编写出更加丰富、漂亮的界面。在本篇 Codelab 中&#xff0c;您将通过一个简单的购物社交应用示例&#xff0c;学习如何使用常用的基础组件和容器组件。本示例主要包含&#xff1a;“登录”…

五、交换机基础配置实验

文章目录 实验内容实验拓扑配置交换机双工模式 实验内容 某公司刚成立&#xff0c;新组建网络&#xff0c;购置了 3 台交换机。其中 S1和 S2为接入层交换机&#xff0c;S3 为汇聚层交换机。现在网络管理员需要对3 台新交换机进行基本配置&#xff0c;保证交换机间的接口使用全…

Spring系列学习一、Spring框架的概论

Spring框架的概论 一、 Spring框架的起源与历史二、 Spring框架的核心理念与特点三、 Spring与其他框架的对比1、首先介绍下Spring与其平替的EJB的对比&#xff1a;2、接下来介绍下Spring与基于Java EE原生技术的对比3、Spring与Hibernate的对比4、Spring与Struts的对比 四、Sp…

Oracle研学-查询

学自B站黑马程序员 1.单表查询 //查询水表编号为 30408 的业主记录 select * from T_OWNERS where watermeter30408 //查询业主名称包含“刘”的业主记录 select * from t_owners where name like %刘% //查询业主名称包含“刘”的并且门牌号包含 5 的业主记录 select * from…

视频编辑与制作,添加视频封面的软件

如今&#xff0c;视频已经成为了我们生活中不可或缺的一部分&#xff0c;无论是社交媒体上的短视频&#xff0c;还是电影、电视剧&#xff0c;视频都以其独特的魅力吸引着我们的目光。而在这背后&#xff0c;视频剪辑软件功不可没。今天&#xff0c;我就为大家揭秘一款新一代的…

强化学习_06_pytorch-TD3实践(CarRacing-v2)

0、TD3算法原理简介 详见笔者前一篇实践强化学习_06_pytorch-TD3实践(BipedalWalkerHardcore-v3) 1、CarRacing环境观察及调整 Action SpaceBox([-1. 0. 0.], 1.0, (3,), float32)Observation SpaceBox(0, 255, (96, 96, 3), uint8) 动作空间是[-1~1, 0~1, 0~1]&#xff0c…

10 NAT网络地址转换

广域网技术 上面聊的内容都是内网的一些配置&#xff0c;但内网终将要访问外网的&#xff0c;我们需要怎么处理呢&#xff1f;一般使用HDLC&#xff08;高级数据链路控制协议&#xff09;或者PPP&#xff08;点对点协议&#xff09;。 使用PPP安全接入Internet PPP&#xff0…

Podman配置mongodb

文章目录 查询镜像拉取镜像查看镜像运行容器创建root用户 查询镜像 podman search mongo拉取镜像 podman pull docker.io/library/mongo查看镜像 podman images运行容器 podman run -d -p 27017:27017 --namemongodb-test docker.io/library/mongo创建root用户 podman exe…

详解现实世界资产(RWAs)

区块链中的现实世界资产&#xff08;RWAs&#xff09;是代表实际和传统金融资产的数字通证&#xff0c;如货币、大宗商品、股票和债券。 实际世界资产&#xff08;RWA&#xff09;的通证化是区块链行业中最大的市场机会之一&#xff0c;潜在市场规模可达数万万亿美元。理论上&…

12章总结

一.集合类概述 java.util包中提供了一些集合类&#xff0c;这些集合类又被称为容器。 集合类与数组的不同之处&#xff1a; 数组的长度是固定的&#xff0c;集合的长度是可变的&#xff1a;数组用来存放基本类型的数据&#xff0c;集合用来存放对象的引用。 常…