python-读写Excel:xlwings库操作

几种操作Excel的python库对比

安装:pip install xlwings

目录

APP实例化对象

工作薄对象

创建工作薄

打开工作薄

工作薄属性

工作表对象

新增工作表

复制表

获取工作表对象

工作表属性

删除和清除表数据及表格式

工作表行高列宽(自动调整)

单元格对象

获取单元格对象

1、字母表示法

2、坐标法

3、切片法

单元格属性

单元格插入内容

name:给单元格命名

value:修改或写入文本内容

add_hyperlink:添加超链接

pictures.add:给单元格添加图片

api.AddComment:添加批注

formula:添加或修改函数表达式

单元格数据类型设置

  ​编辑

单元格样式设置

autofit:设置单元格自适应宽高

Font:字体样式

Borders:边框样式

api.HorizontalAlignment:单元格对齐方式

合并和取消合并单元格

单元格颜色设置

保存退出操作

将Excel转为PDF文件

保存

关闭和退出


APP实例化对象

参数:visible表示实例化的对象是否可见(值为True时会调用系统默认设置打开Excel文件的程序,如打开wps),add_book表示是否在这个工作簿中默认新增工作表。

import xlwings as xw
app = xw.App(visible=False, add_book=False)  
app.display_alerts = False  # 关闭提示信息
app.screen_updating = False  # 关闭显示更新

工作薄对象

创建工作薄

workbook = app.books.add()   # 创建新的工作簿

打开工作薄

workbook = app.books.open(r'C:\Users\Administrator\Desktop\ceshi.xls')  # 打开指定的工作簿

工作薄属性

print(workbook.name)  # 返回工作簿名字print(workbook.sheets)  # 返回工作薄中所有sheet表的列表,列表内容为所有工作表对象
for sh_name in workbook.sheets:print(sh_name.name)print(workbook.app)  # 返回工作簿所在的App对象[Excel程序]

工作表对象

新增工作表

创建新的sheet工作表对象,可选before或者after参数,指定插入表格的位置在指定表之前或之后。

workbook.sheets.add('工资表', before='Sheet3') 

复制表

参数:name(可选,str)副本的名字;before(可选,sheet对象)复制到哪个工作表之前;after(可选,sheet对象)复制到哪个工作表之后

sheet1.copy()
sheet1.copy(name='复制表重名命测试', after=sheet1)
sheet1.copy(name='复制表重名命测试2', before=sheet1)

获取工作表对象

有三种不同的方法可以获取表对象:表名、表索引、表序号

sheet1 = workbook.sheets['工资']  # 通过表名获取指定工作表对象
sheet1 = workbook.sheets[0]  # 通过表索引获取指定工作表对象
sheet1 = workbook.sheets(1)  # 通过表需要获取指定工作表对象,注意序号和索引的区别:()根据序号选择,从1开始;[]根据索引选择,从0开始。

工作表属性

有效行used_range.rows和有效列used_range.columns是比较实用的方法,可以方便获取有效数据进行遍历 

print(str(sheet1.name))  # 获取表名
print(sheet1.index)  # 获取当前表的序号(索引加1)
print(sheet1.used_range.rows, sheet1.used_range.columns)  # 获取有效单元格行和列对象# 获取有效行和有效列
nrow = sheet1.api.UsedRange.Rows.count  # 有效行数,同sheet1.used_range.rows.count,也可通过长度计算len(sheet1.used_range.rows)
ncol = sheet1.api.UsedRange.Columns.count  # 有效列数,同sheet1.used_range.columns.count,,也可通过长度计算len(sheet1.used_range.columns)
print(nrow, ncol)
# 最大行,最大列:结果同有效行和列
print(sheet1.used_range.last_cell.row)
print(sheet1.used_range.last_cell.column)for i in sheet1.used_range.columns:  # 可通过有效行或列遍历有效数据print(i.value)

删除和清除表数据及表格式

sheet1.clear()  # 清除工作表所有内容和格式
sheet1.clear_contents()  # 清除工作表的所有内容但是保留原有格式
sheet1.clear_formats()   # 删除样式但保留文本
sheet1.delete()  # 删除工作表

工作表行高列宽(自动调整)

sheet1.autofit('c')  # 自动调整列宽
sheet1.autofit('r')  # 自动调整行高
sheet1.autofit()  # 自动调整行高列宽,如上可指定axis参数只设置行或列,无参数时同时设置行和列

单元格对象

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

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

相关文章

秋冬春夏,纪念在CSDN的第365天

目录 时光 收获 工作 生活 憧憬 时光 再次收到创作纪念日的消息时,已在CSDN创作和度过了一年的时光。创作,成了自己的第二工作空间,成为了日常的一种习惯。 每当看到第1篇文章的提醒消息,都会想起当时创作的初衷和情景。是一…

在手机在线预览3D模型,是如何实现的?

在手机在线预览3D模型,主要依赖于几个关键技术和步骤来实现。以下是一个概括性的流程: 一、模型上传 选择平台:首先,用户需要选择一个支持3D模型在线预览的平台,如51建模网、Sketchfab等。这些平台通常提供用户友好的…

五分钟本地部署Uptime Kuma运维监控结合内网穿透实现远程访问

文章目录 前言**主要功能**一、前期准备本教程环境为:Centos7,可以跑Docker的系统都可以使用本教程安装。本教程使用Docker部署服务,如何安装Docker详见: 二、Docker部署Uptime Kuma三、实现公网查看网站监控四、使用固定公网地址…

Kafka的生产者和消费者机制

目录 1.基础的客户端 1.1消息发送者的主流程 1.2消息消费者主流程 2.客户端工作机制 2.1消费者分组消费机制 2.2生产者拦截器机制 2.3消息序列化机制 2.4消息分区路由机制 2.5生产者消息缓存机制 2.6发送应答机制 2.7生产者消息幂等性 (1)生产者消息幂等性介绍 (2…

XDMA原理

目录 1. BAR Space Map2. PCIe to AXI Lite Master2.1. BAR Address to AXI Address 3. PCIe to DMA Bypass4. AXI4 Memory Mapped4.1. Register Space 5. AXI Lite Slave Configuration Interface6. MSI/MSI-X Interrupt6.1. Interrupts Configuration6.2. IRQ Module 7. IP E…

Gitlab迁移到新的服务器后点击Integrations报500错误的解决方法

目录 一、问题描述二、解决方法1.方法12.方法2(1)备份 /etc/gitlab/gitlab-secrets.json(2)进入数据库(3)查看 Project ID(4)查找 hook ID 并删除(5)申请访问令牌并执行 api 删除操作一、问题描述 Gitlab迁移到新的服务器后点击Integrations报500错误: 查后台日志…

前后端开发学习路线 囊括Dubbo、Elasticsearch等

以下都是博主本人看过后给出的推荐。 文章目录 前端入门Web开发基础(HTML、CSS、JS)写项目前置(AJAX、Vue等)开始写项目(Vue、Uniapp)重点Future 入门Java后端基础部分(Java、MySQL)…

kubectl陈述式资源管理方式、声明式资源管理

一、命令行: kubectl命令行工具 优点: 90%以上的场景都可以满足 对资源的增,删,查比较方便,对改不是很友好 缺点:命令比较冗长,复杂难记 声明方式:k8s当中的yaml文件实现资源管理----声明式 GUI:图形化工具的管理…

【终端IDPS】开源安全平台Wazuh之Wazuh Server

引言 Wazuh是一个开源的、免费的企业级安全监控解决方案,专注于威胁检测、完整性监控、事件响应和合规性。它由部署在受监控系统的端点安全代理和管理服务器组成,服务器收集并分析代理收集的数据。Wazuh支持多平台,包括Windows、Linux、macOS…

VLM 系列——Mini-Monkey——论文解读

一、概述 1、是什么 Mini-Monkey 论文全称《Mini-Monkey: Multi-Scale Adaptive Cropping for Multimodal Large Language Models》,是一个轻量级MLLM(多模态的视觉-文本模型),基于InternViT、MLP和InternLLM,其实就是…

基于元神操作系统编程写硬盘扇区

1. 背景 本文介绍了“调用元神操作系统API向硬盘扇区写数据”的程序实现及测试结果。 2. 方法 (1)调用元神操作系统API读硬盘扇区 本部分内容已在前面的文章中进行介绍,详细内容请参考“编写程序调用元神操作系统的API”。 (…

STM32F103与ESP8266 WIFI模块的USART中断调试

本文概述了利用STM32F103的HAL库,通过USART中断方式调试ESP8266(ESP-01)WIFI模块的方法。首先介绍了开发环境和ESP-01模块的基本特点与功能,随后展示了如何通过电脑PC的串口助手进行初步调试与验证。最后,重点阐述了如…

SpringBoot-读取配置文件方式

前言 Spring Boot提供了多种灵活的方式来读取配置文件,以适应不同的开发和部署需求,SpringBoot启动的时候,读取配置文件的时候,首先获取的是file:/config/文件下的配置文件,也就是项目下config文件里面的配置文件&…

jmeter 响应乱码

Jmeter在做接口测试的时候的,如果接口响应的内容中有中文,jmeter的响应内容很可能显示乱码,为了规避这种出现乱码的问题,就要对jmeter的响应结果进行编码处理。 打开jmeter进行接口、压力、性能等测试,出现以下乱码问…

等保需要的设备部署vs网络安全域划分原则

等保需要的安全设备和部署 技术要点–等保2级 技术要点–等保3级 安全产品/服务全景图 选型产品说明 安全区域边界配置 资产探测及漏洞检测配置 网络安全域划分原则 网络安全域 定义 网络安全域是一种网络划分方式,将具有相同安全需求、访问控制、相同信任级别、…

【MySQL 14】用户管理

文章目录 🌈 一、用户管理⭐ 1. 用户信息⭐ 2. 创建用户⭐ 3. 修改密码⭐ 4. 删除用户 🌈二、数据库的权限⭐ 1. 权限列表⭐ 2. 查看权限⭐ 3. 授予权限⭐ 4. 回收权限 🌈 一、用户管理 MySQL 也会区分普通用户和超级用户。如果只是访问某一…

【云原生系列之SkyWalking的部署】

1、分布式链路追踪 1.1概念 在较大的web集群和微服务环境中,客户端的一次请求需要经过不同的模块,多个不同中间件,多个不同机器一起相互协作才能处理完成客户端的请求,而在这一系列的请求过程之中,处理流程可能是串行执行,也可能…

【微信小程序】全局数据共享 - MobX

1. 什么是全局数据共享 2. 小程序中的全局数据共享方案 3.Mobx的使用 1.npm init -y(根据实际情况选择) 在小程序项目中,可以通过 npm 的方式引入 MobX 。 如果你还没有在小程序中使用过 npm ,那先在小程序目录中执行命令: npm init -y2. …

19.神经网络 - 线性层及其他层介绍

神经网络 - 线性层及其他层介绍 1.批标准化层–归一化层(不难,自学看官方文档) Normalization Layers torch.nn — PyTorch 1.10 documentation BatchNorm2d — PyTorch 1.10 documentation 对输入采用Batch Normalization,可…

[数据集][目标检测]光伏发电板红外图像鸟粪检测数据集VOC+YOLO格式173张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):173 标注数量(xml文件个数):173 标注数量(txt文件个数):173 标注类别…