Python 处理Excel 文件, openpyxl 库的使用:

下载:

pip install openpyxl

 基本使用:

新建一个Excel 工作簿:

使用openpyxl 需要先导入一个Workbook 类, 使用它可以创建一个Workbook<工作簿>对象, 也就是创建一个Excel表文件, web.active 可用来激活一个工作表. 我们可以使用它创建的 Websheet<工作表> 对象来调用一些属性或者方法, 例如:wb.title 获取或者设置此表格的标题;

from openxl import Workbookwb = Workbook()ws = wb.activews.title = "Spider"
print(ws.title)wb.save("test.xlsx")

保存则直接调用创建的 工作簿对象中的 save() 方法即可,需要传递一个路径。

 打开一个Excel 工作簿:

打工作簿使用到openpyxl 提供的 load_workbook 方法即可打开一个工作簿

from openpyxl import Workbook, load_workbook# 新建一个工作簿
# wb = Workbook()
wb = load_workbook("spider.xlsx")
# 激活此工作簿
ws = wb.active
ws.title = "Spider_Demo"
print(ws.title)wb.save("spider.xlsx")

操作工作表:

 当我们创建出一个工作簿的时候,默认情况下它会自带一个 websheet<工作表>, 我们使用 wb.active 来激活这个默认的工作表就可以获取到 一个 Worksheet 的对象, 如果我们想再增加一个工作表, 则可以调用 Workbook<工作簿> 对象中的create_sheet 方法, 第一个参数传递的是工作表的Title, 第二个参数则是 索引, 这里的索引位置也是从 0 开始的, 对照Excel 表是这样的:

from openpyxl import Workbookwb = Workbook()
print(type(wb))# 激活默认的工作表
ws1 = wb.active
print(type(ws1))ws2 = wb.create_sheet("Sheet2", 1)
ws3 = wb.create_sheet("Sheet3", 2)
#  查看所有工作表
print(wb.sheetnames)

同样的, 如果我们打开了一个 excel 文件,而这个文件中已经存在了 Sheet1   Sheet2  Sheet3 等工作表了, 那么我们可以使用 Workbook 对象,然后使用类似与字典取值的方式来获取一个工作表对象,  例如: ws3 = wb["Sheet3"]    这样会返回一个Websheet 对象。

如果我们想要移动一个工作表到其它的位置,例如:将Sheet3 移动到 Sheet2 的位置。

那么我们可以调用 Webbook 对象提供的 move_sheet() 方法, wb.move_sheet()

此方法第一个参数传递的是一个 Websheet 对象, 第二个参数传递的则是一个数字, 如果传递-1 负数, 则为向前移动一个位置, 如果传递的是正数  1  则为向后移动一个位置, 此形参默认值为 0

from openpyxl import Workbook, load_workbook# wb = Workbook()
wb = load_workbook("spider.xlsx")wb.move_sheet("Sheet4", -2)print(wb.sheetnames)  # ['Sheet1', 'Sheet4', 'Sheet2', 'Sheet3']

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

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

相关文章

智能体重秤pcba方案

智能体重秤应用系统由硬件和软件两部分组成。硬件是指微控制器、扩展存储器、扩展输入输出设备等。软件是各种工作过程的通用名称。硬件和软件只有紧密协调&#xff0c;才能提高系统的性价比。从硬件设计开始&#xff0c;应考虑相应软件的设计方法&#xff0c;软件的设计是基于…

代码随想录算法训练营:26/60

非科班学习算法day26 | LeetCode491:非递减子序列 &#xff0c;Leetcode46:全排列 &#xff0c;Leetcode47:全排列|| 介绍 包含LC的两道题目&#xff0c;还有相应概念的补充。 相关图解和更多版本&#xff1a; 代码随想录 (programmercarl.com)https://programmercarl.com/…

5款好用公司监控软件分享|管理者必看

当今社会&#xff0c;企业数据安全和员工工作效率成为了管理者不可忽视的重要议题。 选择合适的公司监控软件&#xff0c;不仅有助于提升管理效率&#xff0c;还能有效保障企业信息安全。 下面小编将为您分享五款备受好评的公司监控软件&#xff0c;助力管理者更好地管理企业…

C# Winform权限、用户和菜单开发的顺序和注意点

在C# Winform应用程序中&#xff0c;开发权限、用户和菜单功能通常遵循一定的顺序和注意点&#xff0c;以确保功能的连贯性和安全性。下面是一个推荐的开发流程及其注意事项&#xff1a; 开发流程 1. 数据库设计 用户表&#xff1a;存储用户基本信息&#xff0c;如用户名、密…

vue使用HMAC-SHA256签名算法

在 Vue.js 应用中生成签名算法通常涉及以下几个步骤&#xff1a; 收集数据&#xff1a;获取需要签名的数据。整理数据&#xff1a;根据协议或需求对数据进行排序、拼接、编码等处理。计算签名&#xff1a;使用密钥和算法&#xff08;如 HMAC-SHA256&#xff09;计算签名。附加…

微服务通信方式详解

引言 随着互联网应用的不断发展和用户需求的多样化&#xff0c;传统的单体架构已经无法满足现代应用的灵活性和扩展性需求。微服务架构因其模块化、松耦合、易于扩展和部署等优势&#xff0c;逐渐成为现代软件开发的重要趋势。在微服务架构中&#xff0c;各个服务相互独立、自…

公司可以拿监控辞退员工吗?有什么法律依据?

李经理&#xff1a;小张&#xff0c;我听说最近人力资源部打算使用我们新安装的安企神软件来监控员工的工作行为&#xff0c;以提高工作效率和确保公司信息安全。不过&#xff0c;我有点担心这会不会触及法律红线&#xff0c;比如如果我们发现某位员工严重违反公司规定&#xf…

virtualbox和docker的区别和优缺点以及如何选择

使用 Docker 和 VirtualBox 各有优缺点&#xff0c;具体取决于你的需求和使用场景。以下是两种方法的详细对比&#xff1a; Docker 使用 CentOS 7 优点 轻量级&#xff1a; Docker 容器共享主机操作系统内核&#xff0c;启动速度快&#xff0c;占用资源少。适合开发、测试和部…

ElasticSearch学习篇14_《检索技术核心20讲》进阶篇之大倒排索引

背景 学习极客实践课程《检索技术核心20讲》https://time.geekbang.org/column/article/215243&#xff0c;文档形式记录笔记。 内容 主要是海量数据的大倒排索引的一些原理设计思想&#xff0c;ES底层就是基于这些设计思想以及原理&#xff0c;主要涉及读写分离、索引分层等…

什么是离散化?

离散化 题目 你会这个题 吗&#xff1f; 题目 假定有一个无限长的数轴&#xff0c;数轴上每个坐标上的数都是 0 0 0。 现在&#xff0c;我们首先进行 n n n 次操作&#xff0c;每次操作将某一位置 x x x 上的数加 c c c。 接下来&#xff0c;进行 m m m 次询问&#x…

第十二节 设置默认文本提示

原型中我们常会用到文本框默认提示一些文本&#xff0c;获取焦点后消失文本提示&#xff0c;那如何实现呢&#xff1f;请看下面这个简单案例。 一、添加文本框也可以是矩形或者其他元件 二、添加文本样式 三、设置提示文本 四、元件获取焦点时将以隐藏提示 五、看效果 默认提示…

ShardingSphereConnection@4691d] will not be managed by Spring

boot整合分库分表后启动执行&#xff0c;提示链接不被spring管理&#xff0c; 应该看自己需要&#xff0c; 解决&#xff1a;

vue3+ts 重复参数提取成方法多处调用以及字段无值时不传字段给后端

参数提取前的写法&#xff0c;此写法值为空的时候也会传空字段给后端 会把无值的空字段传给后端 修改后的写法&#xff0c;不会把没有值的字段传给后端 // 列表和导出需要传给后端的公共参数&#xff08;加 || undefined即可过滤空字段&#xff09; const getCurentParam () …

【Cesium开发实战】电子围栏功能的实现,可自定义高度

Cesium有很多很强大的功能&#xff0c;可以在地球上实现很多炫酷的3D效果。今天给大家分享一个可自定义高度的电子围栏。 1.话不多说&#xff0c;先展示。 电子围栏 2.设计思路 点击绘制&#xff0c;在地图上可绘制多个点位&#xff0c;双击结束绘制&#xff0c;可对电子围栏…

债券一级市场、二级市场介绍

债券市场可以分为一级市场和二级市场&#xff0c;它们分别在债券发行和交易中扮演着不同的角色。 债券一级市场 一级市场是指债券的初级发行市场。在这个市场上&#xff0c;债券发行人&#xff08;如政府、企业等&#xff09;通过中介机构&#xff08;如银行、证券公司等&…

昇思25天学习打卡营第14天|Pix2Pix实现图像转换

Pix2Pix是基于条件生成对抗网络&#xff08;cGAN, Condition Generative Adversarial Networks &#xff09;实现的一种深度学习图像转换模型&#xff0c;该模型是由Phillip Isola等作者在2017年CVPR上提出的&#xff0c;可以实现语义/标签到真实图片、灰度图到彩色图、航空图到…

leetcode--二叉搜索子树的最大键值和

leetcode地址&#xff1a;二叉搜索子树的最大键值和 给你一棵以 root 为根的 二叉树 &#xff0c;请你返回 任意 二叉搜索子树的最大键值和。 二叉搜索树的定义如下&#xff1a; 任意节点的左子树中的键值都 小于 此节点的键值。 任意节点的右子树中的键值都 大于 此节点的键值…

IOC、DI<4> Unity

IOC&#xff08;&#xff09;&#xff1a;控制反转&#xff0c;把程序上层对下层的依赖&#xff0c;转移到第三方的容器来装配 是程序设计的目标&#xff0c;实现方式包含了依赖注入和依赖查找&#xff08;.net里面只有依赖注入&#xff09; DI&#xff1a;依赖注入&#xff0c…

基于jeecgboot-vue3的Flowable流程-集成仿钉钉流程(一)一些样式的调整使用

因为这个项目license问题无法开源&#xff0c;更多技术支持与服务请加入我的知识星球。 1、比如下面的发起人双击后出现的界面不正常&#xff0c; 看它的样式主要是这个里面的margin-left应该太小了&#xff0c; [data-v-45b533d5] .el-tabs__content { margin-top: 50px;mar…

多商户酒店预定SAAS系统(APP):云端革新引领行业未来

在数字化转型的浪潮中&#xff0c;酒店行业正经历着前所未有的变革。多商户酒店预定SAAS系统&#xff08;APP&#xff09;作为一种创新的解决方案&#xff0c;为酒店提供了一个集中化、高效、灵活的在线预订和管理平台。 SAAS系统的核心价值 SAAS系统通过云端服务&#xff0c…