使用openpyxl时的一些注意点

一、是否需要close()?

在使用 openpyxl 时,wb.save() 后一般不需要再手动调用 wb.close()。wb.save() 会自动处理文件写入和释放。

如果是使用openpyxl.load_workbook(filename, read_only=True) 打开了一个只读模式的工作簿,此时会建立文件流,需要在使用完之后调用 wb.close() 来释放资源。不然的话内存中可能还会保留一个对文件的占用。

二、在操作ws.cell()时,column可以指定字符串吗,例如‘AK’?

不可以直接使用列字母 'AK' 作为 column 参数,所以这时候需要openpyxl.utils.column_index_from_string() 把 'AK' 转换成数字列号:

from openpyxl.utils import column_index_from_stringcol_num = column_index_from_string('AK')  # AK → 37ws.cell(row=new_row, column=col_num, value='ssss')

反过来,如果有列号,想变成列字母:

from openpyxl.utils import get_column_lettercol_letter = get_column_letter(37)  # → 'AK'

三、如何排除第 1 列再找最大行

def get_real_max_row(ws):for row in reversed(range(1, ws.max_row + 1)):# 遍历该行中除第1列以外的单元格for cell in ws[row][1:]:if cell.value is not None:return rowreturn 0

四、Excel中的行和列的index是从0开始的吗?

在使用 openpyxl 处理 Excel 的时候,Excel 中的行和列索引是从 1 开始的,例如:

openpyxl.cell(row=1, column=1) 对应的是 Excel 中的单元格 A1
row=1 是第 1 行
column=1 是第 1 列(即 A 列)
column=2 是 B 列,以此类推

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

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

相关文章

Python爬虫第11节-解析库Beautiful Soup的使用上篇

目录 前言 一、Beautiful Soup 简介 1.1 Beautiful Soup概述 1.2 准备工作 1.3 解析器 二、基本使用 三、节点选择器的使用 3.1 选择元素 3.2 提取信息 3.2.1 获取名称 3.2.2 获取属性 3.2.3 获取内容 3.3 嵌套选择 3.4 关联选择 3.4.1 子节点和子孙节点 3.4.2…

【Docker-13】Docker Container容器

Docker Container(容器) 一、什么是容器? 通俗地讲,容器是镜像的运行实体。镜像是静态的只读文件,而容器带有运行时需要的可写文件层,并且容器中的进程属于运行状态。即容器运行着真正的应用进程。容器有…

Spring Cache(笔记)

简介: 常用注解:

大模型Qwen32b(FP16精度)部署所需的显存大小和并发数计算分析

大家好,我是微学AI,今天给大家介绍一下大模型Qwen32b(FP16精度)部署所需的显存大小和并发计算分析。 文章目录 1. 大模型显存需求分析1.1 模型参数与显存占用1.2 不同精度对显存的影响 2. 不同显卡配置下的并发能力2.1 80G显卡并发能力2.2 64G显卡并发能…

【euclid】10.2 2D变换模块(transform2d.rs)Arbitrary trait

源码 #[cfg(feature "arbitrary")] impl<a, T, Src, Dst> arbitrary::Arbitrary<a> for Transform2D<T, Src, Dst> whereT: arbitrary::Arbitrary<a>, {fn arbitrary(u: &mut arbitrary::Unstructured<a>) -> arbitrary::Res…

MAC Mini M4 上测试Detectron2 图像识别库

断断续续地做图像识别的应用&#xff0c;使用过各种图像识别算法&#xff0c;一开始使用openCV 做教室学生计数的程序。以后又使用YOLO 做医学伤口检测程序。最近&#xff0c;开始使用meta 公司的Detectron2.打算做OCR 文档结构分析 Detectron2 的开发者是 Meta 的 Facebook AI…

一天时间,我用AI(deepseek)做了一个配色网站

前言 最近在开发颜色搭配主题的相关H5和小程序&#xff0c;想到需要补充一个web网站&#xff0c;因此有了这篇文章。 一、确定需求 向AI要答案之前&#xff0c;一定要清楚自己想要做什么。如果你没有100%了解自己的需求&#xff0c;可以先让AI帮你理清逻辑和思路&#xff0c;…

机器视觉用消色差双合透镜

光学系统案例&#xff1a;机器视觉用消色差双合透镜 一、设计规格 1. 应用场景&#xff1a;专为工业相机成像而设计&#xff0c;工作于可见光波段&#xff0c;旨在满足该领域对高精度成像的需求。 2. 核心参数&#xff1a; • 焦距&#xff1a;精确要求达到 50 mm 1%&#…

批量归一化(Batch Normalization)原理与PyTorch实现

批量归一化&#xff08;Batch Normalization&#xff09;是加速深度神经网络训练的常用技术。本文通过Fashion-MNIST数据集&#xff0c;演示如何从零实现批量归一化&#xff0c;并对比PyTorch内置API的简洁实现方式。 1. 从零实现批量归一化 1.1 批量归一化函数实现 import t…

feedback

这个文件 lib/pages/feedback/index.dart 是一个反馈/留言表单页面的实现&#xff0c;主要功能是&#xff1a; 表单收集功能&#xff1a; 真实姓名&#xff08;必填&#xff09;联系电话&#xff08;必填&#xff0c;需要验证手机号格式&#xff09;电子邮箱&#xff08;选填&a…

数据仓库标准库模型架构相关概念浅讲

数据仓库与模型体系及相关概念 数据仓库与数据库的区别可参考&#xff1a;数据库与数据仓库的区别及关系_数据仓库和数据库-CSDN博客 总之&#xff0c;数据库是为捕获数据而设计&#xff0c;数据仓库是为分析数据而设计 数据仓库集成工具 在一些大厂中&#xff0c;其会有自…

适用于 HAL 的 AIDL

目录 设计初衷 注意 编写AIDLHAL接口 查找AIDLHAL接口 扩展接口 将现有HAL从HIDL转换为AIDL AIDL与HIDL之间的主要差异 针对HAL的供应商测试套件(VTS)测试 Android 11 中引入了在 Android 中使用 AIDL 实现 HAL 的功能, 从而可以在不使用 HIDL 的情况下实现 Android 的部分…

leetcode0547. 省份数量-medium

1 题目&#xff1a;省份数量 官方标定难度&#xff1a;中 有 n 个城市&#xff0c;其中一些彼此相连&#xff0c;另一些没有相连。如果城市 a 与城市 b 直接相连&#xff0c;且城市 b 与城市 c 直接相连&#xff0c;那么城市 a 与城市 c 间接相连。 省份 是一组直接或间接相…

【专题刷题】双指针(一)

&#x1f4dd;前言说明&#xff1a; 本专栏主要记录本人的基础算法学习以及LeetCode刷题记录&#xff0c;按专题划分每题主要记录&#xff1a;1&#xff0c;本人解法 本人屎山代码&#xff1b;2&#xff0c;优质解法 优质代码&#xff1b;3&#xff0c;精益求精&#xff0c;…

WebSocket 技术详解

引言 在现代Web应用中&#xff0c;实时通信已经成为不可或缺的一部分。想象一下聊天应用、在线游戏、股票交易平台或协作工具&#xff0c;这些应用都需要服务器能够即时将更新推送给客户端&#xff0c;而不仅仅是等待客户端请求。WebSocket技术应运而生&#xff0c;它提供了一…

【redis】初识redis

初识redis Redis 是一种基于键值对&#xff08;key-value&#xff09; 的 NoSQL 的数据库&#xff0c;它与很多键值数据库不同&#xff0c; Redis 中的值可以是 string&#xff08;字符串&#xff09; 、hash&#xff08;哈希&#xff09;、list&#xff08;链表&#xff09;、…

UE5 制作方块边缘渐变边框效果

该效果基于之前做的&#xff08;https://blog.csdn.net/grayrail/article/details/144546427&#xff09;进行修改得到&#xff0c;思路也很简单&#xff1a; 1.打开实时预览 1.为了制作时每个细节调整方便&#xff0c;勾选Live Update中的三个选项&#xff0c;开启实时预览。…

基于springboot的“嗨玩旅游网站”的设计与实现(源码+数据库+文档+PPT)

基于springboot的“嗨玩旅游网站”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;springboot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统功能结构图 局部E-R图 系统首页界面 系统注册…

grafana/loki 部署搜集 k8s 集群日志

grafana/loki 和 grafana/loki-stack 的区别 ​Grafana 提供了多个 Helm Chart 用于在 Kubernetes 集群中部署 Loki 及相关组件,其中主要包括 grafana/loki 和 grafana/loki-stack。​它们的主要区别如下:​ 1.grafana/loki Helm Chart: 专注于 Loki 部署: 该 Chart 专门…

Nacos-Controller 2.0:使用 Nacos 高效管理你的 K8s 配置

作者&#xff1a;濯光、翼严 Kubernetes 配置管理的局限 目前&#xff0c;在 Kubernetes 集群中&#xff0c;配置管理主要通过 ConfigMap 和 Secret 来实现。这两种资源允许用户将配置信息通过环境变量或者文件等方式&#xff0c;注入到 Pod 中。尽管 Kubernetes 提供了这些强…