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_workbookwb = 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.mzph.cn/news/299279.shtml

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

相关文章

vsftpd服务

实验1VSFTPD实验环境在虚拟机Linux 6.5系统下需要2台Linux系统一台A作为服务端一条B作为测试客户端开启2台Linux系统。实验目标A作为服务端配置VSFTPD服务器实现FTP服务。B作为测试客户端验证服务器A的共享是否有效。配置真实主机确保真实主机能ping通2台虚拟机。实验步骤1. 首…

传递函数_使用python计算麦克风阵列信号的传递函数

使用python写了一个测试麦克风阵列传递函数的demo,有需要的自取。该代码使用了第三方库ThinkDSP。1. 传递函数首先解释下什么是传递函数:把具有线性特性的对象的输入与输出间的关系,用一个函数(输出波形的拉普拉斯变换与输入波形的拉普拉斯变…

LNK2005 连接错误解决办法

nafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2YAPAXIZ) 已经在 LIBCMTD.lib(new.obj) 中定义nafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3YAXPAXZ) 已经在 …

中国数学竞赛史上最玩命的“赌徒”,为了国家荣誉,他不惜用生命换来了五次世界第一...

全世界只有3.14 % 的人关注了爆炸吧知识知识君今天,要跟大家介绍的是,北大历史上首位被授予博士学位的人,深受癌症折磨的同时还带领着中国学子连续5次站上世界顶端的人,他的故事,他的品格,值得被所有人记住…

33条C#、.Net经典面试题目及答案[zt]

本文集中了多条常见的C#、.Net经典面试题目例如“.NET中类和结构的区别”、“ASP.NET页面之间传递值的几种方式?”,并简明扼要的给出了答案,希望能对学习C#、.Net的读者有所帮助。 1, 请你说说.NET中类和结构的区别? 答:结构和类…

控制用户的访问之权限、角色【weber出品必属精品】

权限的作用 限制用户对数据的访问 权限的分类 1. 系统权限:能够存取数据库的权限 2. 对象权限:操作数据库对象的内容 系统权限 1.1 如何创建用户: SQL> create user test default tablespace users identified by test;用户已创建。 1…

javq接口_Java为什么要使用接口_java接口怎么使用

Java接口是什么Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。接口(英语:Interface)&am…

[(转)hystar整理]Entity Framework 教程

预备知识 2 LINQ技术 2 LINQ技术的基础 - C#3.0 2 自动属性 2 隐式类型 2 对象初始化器与集合初始化器 3 匿名类 3 扩展方法 4 Lambda表达式 4 .NET中的数据访问 4 DataSet方案 5 改进的的DataSet方案 5 手写代码通过ADO.NET2…

Exchange中的数据库文件

Exchange中的数据库文件Exchange中的数据库文件是edb文件、stm文件和众多的log文件组成.其中以edb结尾的文件是数据库文件.以stm结尾的是流数据文件,以log结尾的是事物日志文件.<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />E…

13岁上中科大,17岁攻读哈佛博士,“天才”尹希的开挂人生

全世界只有3.14 % 的人关注了爆炸吧知识2013年美国斯隆基金会(Alfred P. Sloan Foundation)颁发的美国斯隆研究奖获得者尹希&#xff0c;31岁哈佛最年轻的华人教授&#xff0c;获2017年“豪华版诺贝尔奖”之称的科学突破奖-物理学新视野奖&#xff0c;这年唯一的获奖华裔。知识…

强制升级?!.NET Core 2.1容器镜像将从Docker Hub中删除

前言.NET Core 2.1将于2021年8月21日结束支持&#xff0c;本来应该没什么影响&#xff0c;该怎么用继续用得了。但是&#xff0c;如果你在生产环境使用了.NET Core 2.1容器镜像&#xff0c;那就要注意了&#xff0c;从8月21日开始&#xff0c;.NET Core 2.1容器镜像将不再在Doc…

浅谈云计算核心技术

云计算一个高大上的名字&#xff0c;现在我也准备开始学习了&#xff0c;今天看了一本云计算的普及性书籍&#xff0c;将云计算的一些核心技术做一个简要的概括吧。虚拟化技术云计算跟虚拟化不能等同&#xff0c;有位专家说过&#xff0c;虚拟化提供了很好的底层技术平台&#…

“史上“最疯狂”的顶级数学家,看完后忍不住感慨太神了”

▲ 点击查看说起世界上最顶级的数学家&#xff0c;你的脑海中会浮现的&#xff0c;大概是欧拉、高斯、香农等数学巨匠。但是要说起成就和神秘性兼备的&#xff0c;一定就是——称为印度之子的——拉马努金。1887年12月22日&#xff0c;拉马努金出生在印度一个穷困潦倒的家庭&am…

JavaScript 游动层onmouseover

<html> <head> <meta http-equiv"Content-Type" content"text/html; charsetGB2312"> <title>学生信息系统</title> <script language"javascript"> var showInfo new function () { this.showLayer func…

.NET 6 新特性 —— Random.Shared

.NET 6 新特性 —— Random.SharedIntro最近微软发了一篇 .NET 6 性能提升的博客文章&#xff0c;里面提到了很多有趣的东西&#xff0c;其中有一个是 Random.Shared这是一个只读的静态属性&#xff0c;并且是一个线程安全的对象&#xff0c;这个东西可以帮助我们简化 Random 对…

《Python CookBook2》 第一章 文本 - 检查字符串中是否包含某字符集合中的字符 简化字符串的translate方法的使用...

检查字符串中是否包含某字符集合中的字符 任务&#xff1a; 检查字符串中是否出现了某个字符集合中的字符 解决方案&#xff1a; 方案一&#xff1a; import itertoolsdef containAny(seq,aset):for item in itertools.ifilter(aset.__contains__,seq):return Truereturn False…

mysql高级查询 二_MySQL高级查询(二)

EXISTS 和NOT EXISTS子查询EXISTS子查询语法:SELECT ……… FROM 表名 WHERE EXISTS (子查询);例:SELECT studentNo AS 学号,studentResult 成绩 FROM resultWHERE EXISTS(/*查询LOgic Java最后一次考试成绩大于80的记录*/SELECT * FROM result WHERE subjectNo(SELECT subject…

What's blocking my lock? 转载

原文地址 &#xff1a;http://www.orafaq.com/node/854 Create a blocking lock To begin, create a situation where one user isactively blocking another. Open two sessions. Issue the following commands inSession 1 to build the test table: SQL> create table ts…

致家长:疫情期间教育好自己的孩子,就是你最重要的事业!

全世界只有3.14 % 的人关注了爆炸吧知识疫情危机&#xff0c;却也是教育的契机。现在孩子呆在家里&#xff0c;老师管不了孩子&#xff0c;却也正是家长重新认识父母之责的契机。家长才是孩子的第一任老师&#xff0c;家长的言传身教、一举一动都影响着孩子成长。孩子是你的唯一…

linux 安全审计

1,创建工作目录mkdir /usr/local/proxy/vi proxy#!/bin/bashTmpfilemktempUser$USERIp${SSH_CLIENT%% *}Date"date %Y-%m-%d"Logfile"/var/log/myaudit/${Date}_${User}_$Ip.log"exec /usr/bin/script -a -f -q $Logfile2 修改/etc/profilevi /etc/profile…