14.使用各种读写包操作 Excel 文件:辅助模块

一 各种读写包

这些是 pandas 在底层使用的各种读写包。无须安装 pandas,直接使用这些读写包就能够读写 Excel 工作簿。可以尽可能地使用 pandas 来解决这类问题,只在 pandas 没有提供你所需要的功能时才用到读写包。

表中没有 xlwings ,因为xlwings 依赖于 Excel 应用程序本身,为了使用 xlwings,你的计算机上必须安装并可以运行 Excel 应用程序。然而 Excel 并不总是可用的,在 Linux 系统中,原生并没有 Excel 应用程序。在 Windows 或 macOS 系统中,由于可以安装 Excel 应用程序,xlwings 可以作为一个强大的工具来替代其他用于处理 Excel 文件的 Python 包。在这些系统中,如果你需要执行与 Excel 相关的操作,xlwings 可能是一个更好的选择,因为它提供了更直接、更强大的与 Excel 交互的能力。

xlwings 与其他处理 Excel 文件的 Python 包(如 pandasopenpyxlxlrd 等)之间的本质区别在于它对 Excel 应用程序的依赖。其他包通常不依赖于 Excel 应用程序本身,而是直接读取或写入 Excel 文件的格式。这使得它们可以在没有安装 Excel 的环境中使用。

xlwings 在 Windows 或 macOS 系统中由于其与 Excel 应用程序的直接交互能力,可以提供一些其他包无法提供的独特功能。但这并不意味着它可以完全替代其他所有处理 Excel 文件的 Python 包。


二 辅助模块 excel.py

https://pan.baidu.com/s/1N2E4WkODmGHVfqr5ugKc6w?pwd=43tq 提取码: 43tq 

1.为什么要有辅助模块

在处理电子表格(如Excel表格)时,通常需要使用代码来读取或写入表格中的单元格区域。不同的包提供了不同的方法和语法来完成这些操作。这意味着,如果你从一个包切换到另一个包,你可能需要学习并适应新的语法和方法。使用这样的辅助模块,用户可以更专注于处理数据本身,而不是纠结于如何调用底层的包来完成基本的读写操作。

想象你有一堆不同的工具箱,每个工具箱里都有工具可以帮你完成一些特定的任务,这些工具箱就像是你编程时用的不同包。每个工具箱里的工具使用方法都不一样。现在,假设有人为你制作了一个“万能工具适配器”,这个适配器可以让你用同一种方式使用所有工具箱里的工具,而不需要去学习每种工具的具体使用方法。

2.该模块负责处理的问题是什么

1.切换读写包

Excel 文件会随着时间不断增大,很多用户会尽可能地将文件格式从 xlsx 切换到 xlsb,因为 xlsb 格式可以大幅削减文件大小。你不得不从 OpenPyXL 切换到 pyxlsb。因此也就必须将使用 OpenPyXL 的代码改写成 pyxlsb 的语法。

2.数据类型转换

在切换包时,你不仅需要对代码的语法进行调整,还需要注意不同包返回同一单元格内容时所用的不同数据类型。例如,OpenPyXL 会为空单元格返回 None,而 xlrd 返回的是空字符串。

3.单元格循环

读写包是低级包:这就意味着它们并未提供一些方便的函数来处理常见任务。例如,大部分包会要求你通过循环来操作每一个需要读或写的单元格。

3.如何使用辅助模块

有3个函数

1.读写值

read 函数接受以下任一种包的 sheet 对象:xlrd、OpenPyXL 或 pyxlsb。

read 函数也接受可选参数 first_cell 和 last_cell。

这两个参数可以以 A1 这样的字符串形式提供,也可以通过行列元组的形式提供(遵循 Excel 从 1 开始的索引规则):(1, 1)。行列元组指的是一个包含两个整数的元组,用于指定单元格的位置。元组的第一个元素表示行号,第二个元素表示列号。在 Excel 中,单元格的索引是从 1 开始的,而不是从 0 开始。Excel 中的第一个单元格(左上角)通常标记为 A1,其中 A 表示第一列,1 表示第一行。想要指定 Excel 中的第一行第一列,你应该使用元组 (1, 1),而不是 (0, 0)read(sheet, first_cell=(1, 1), last_cell=(3, 3)) 将读取从第一行第一列到第三行第三列的单元格区域。

first_cell 的默认值是 A1,而 last_cell 的默认值是所用区域的右下角。因此如果你只提供了 sheet 对象作为参数,那么它就会读取整张工作表。

与 read 函数的工作方式类似,write 函数接受 xlwt、 OpenPyXL 或 XlsxWriter 的 sheet 对象(read 和 write 函数都是自定义函数),以及以嵌套列表和可选的 first_cell 表示的值。可选参数 first_cell 代表待写入区域左上角的单元格,嵌套列表将从这里开始写入。

2.数据类型转换

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

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

相关文章

ubuntu ollama+dify实践

安装ollama 官网的指令太慢了,使用以下指令加速: export OLLAMA_MIRROR"https://ghproxy.cn/https://github.com/ollama/ollama/releases/latest/download" curl -fsSL https://ollama.com/install.sh | sed "s|https://ollama.com/dow…

spring boot+mybaits多条件模糊查询和分页查询

我们首先写一下多条件的模糊查询,首先在controller里面写一个接口,进行传参,我们这里要注意,之前写修改和增加的时候用的注解都是RequestBody,也就是说!前端传过来一个json,数组也行,然后我们后…

HarmonyOS NEXT - 电商App实例四(登录界面)

登录界面是用户进入App的第一步,因此需要简洁明了,同时保持品牌风格的一致性。如:顶部区域为品牌LOGO展示,增加品牌识别度;中间区域为登录表单,包含输入框和按钮;底部区域为其他登录方式、注册入…

探索ima.copilot:个人知识库搭建的AI新利器

在信息爆炸的时代,知识的积累与管理成为了个人发展的关键。面对海量的科研文献、工作资料和各类信息,如何高效地构建属于自己的知识体系,是许多人面临的挑战。ima.copilot这款AI工具的出现,为解决这一难题提供了新的思路。它凭借强…

图解多头注意力机制:维度变化一镜到底

目录 一、多头注意力机制概述二、代码实现1. pyTorch 实现2. tensorFlow实现 三、维度变化全流程详解1. 参数设定2. 维度变化流程图3. 关键步骤维度变化 四、关键实现细节解析1. 多头拆分与合并2. 注意力分数计算3. 掩码处理技巧 五、完整运行示例六、总结与常见问题1. 核心优势…

Interview preparation.md

Vue 1.1 响应式系统 Vue 3 使用 Proxy 代替 Vue 2 中的 Object.defineProperty 来实现响应式系统。Proxy 可以监听对象的所有操作,包括属性的添加和删除,从而解决了 Vue 2 的一些局限性。 Vue 2:使用 Vue.set 添加响应式属性 new Vue({el…

2.8滑动窗口专题:最小覆盖子串

1. 题目链接 LeetCode 76. 最小覆盖子串 2. 题目描述 给定字符串 s 和 t,要求找到 s 中最小的窗口,使得该窗口包含 t 的所有字符(包括出现次数)。若不存在,返回空字符串。 示例: 输入:s &quo…

【数据分析大屏】基于Django+Vue汽车销售数据分析可视化大屏(完整系统源码+数据库+开发笔记+详细部署教程+虚拟机分布式启动教程)✅

目录 一、项目背景 二、项目创新点 三、项目功能 四、开发技术介绍 五、项目功能展示 六、权威视频链接 一、项目背景 汽车行业数字化转型加速,销售数据多维分析需求激增。本项目针对传统报表系统交互性弱、实时性差等痛点,基于DjangoVue架构构建…

cyberstrikelab lab2

lab2 重生之我是渗透测试工程师,被公司派遣去测试某网络的安全性。你的目标是成功获取所有服务器的权限,以评估网络安全状况。 先扫一下 ​ ​ 192.168.10.10 ​ ​ 骑士cms 先找后台路径 http://192.168.10.10:808/index.php?madmin&cind…

在 Ubuntu 服务器上使用宝塔面板搭建博客

📌 介绍 在本教程中,我们将介绍如何在 Ubuntu 服务器 上安装 宝塔面板,并使用 Nginx PHP MySQL 搭建一个博客(如 WordPress)。 主要步骤包括: 安装宝塔面板配置 Nginx PHP MySQL绑定域名与 SSL 证书…

PTA7-13 统计工龄

题目描述 给定公司 n 名员工的工龄,要求按工龄增序输出每个工龄段有多少员工。 输入格式: 输入首先给出正整数 n(≤105),即员工总人数;随后给出 n 个整数,即每个员工的工龄,范围在 [0, 50]。…

【 <一> 炼丹初探:JavaWeb 的起源与基础】之 Servlet 3.0 新特性:异步处理与注解配置

<前文回顾> 点击此处查看 合集 https://blog.csdn.net/foyodesigner/category_12907601.html?fromshareblogcolumn&sharetypeblogcolumn&sharerId12907601&sharereferPC&sharesourceFoyoDesigner&sharefromfrom_link <今日更新> 一、Servle…

电子电气架构 --- 汽车电子硬件架构

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 人生是一场骗局,最大的任务根本不是什么买车买房,也不是及时行乐,这就是欲望,不是理想,是把自己对生命的希望寄托在外物上,正确的做法应该是内…

使用 Homebrew 安装 OpenJDK 并配置环境变量

在 macOS 上使用 Homebrew 安装 OpenJDK 是一种简单而高效的方式。本文将使用 Homebrew 安装 OpenJDK&#xff0c;并设置环境变量以便 Java 能够正确运行。 1. 安装 Homebrew 首先&#xff0c;确保你的 macOS 系统已经安装了 Homebrew。如果没有安装&#xff0c;可以通过以下…

Java集合简单理解

Java 的集合框架&#xff08;Java Collections Framework, JCF&#xff09;是 Java 中用于存储和操作数据结构的核心库&#xff0c;提供了丰富的接口和实现类&#xff0c;用于处理不同类型的集合数据。以下是详细的介绍&#xff1a; 一、集合框架的体系结构 Java 集合主要分为…

群体智能优化算法-旗鱼优化算法 (Sailfish Optimizer, SFO,含Matlab源代码)

摘要 旗鱼优化算法&#xff08;Sailfish Optimizer, SFO&#xff09;是一种模拟旗鱼&#xff08;Sailfish&#xff09;和沙丁鱼&#xff08;Sardine&#xff09;之间捕食关系的新型元启发式算法。通过在搜索过程中模拟旗鱼对沙丁鱼的捕食行为&#xff0c;以及沙丁鱼群的逃逸与…

【C语言】编译和链接详解

hi&#xff0c;各位&#xff0c;让我们开启今日份博客~ 小编个人主页点这里~ 目录 一、翻译环境和运行环境1、翻译环境1.1预处理&#xff08;预编译&#xff09;1.2编译1.2.1词法分析1.2.2语法分析1.2.3语义分析 1.3汇编1.4链接 2.运行环境 一、翻译环境和运行环境 在ANSI C…

VIC模型率定验证

在气候变化问题日益严重的今天&#xff0c;水文模型在防洪规划&#xff0c;未来预测等方面发挥着不可替代的重要作用。目前&#xff0c;无论是工程实践或是科学研究中都存在很多著名的水文模型如SWAT/HSPF/HEC-HMS等。虽然&#xff0c;这些软件有各自的优点&#xff1b;但是&am…

【AWS入门】AWS云计算简介

【AWS入门】AWS云计算简介 A Brief Introduction to AWS Cloud Computing By JacksonML 什么是云计算&#xff1f;云计算能干什么&#xff1f;我们如何利用云计算&#xff1f;云计算如何实现&#xff1f; 带着一系列问题&#xff0c;我将做一个普通布道者&#xff0c;引领广…

Flutter_学习记录_ ImagePicker拍照、录制视频、相册选择照片和视频、上传文件

插件地址&#xff1a;https://pub.dev/packages/image_picker 添加插件 添加配置 android无需配置开箱即用&#xff0c;ios还需要配置info.plist <key>NSPhotoLibraryUsageDescription</key> <string>应用需要访问相册读取文件</string> <key>N…