讲解用Python处理Excel表格

我们今天来一起探索一下用Python怎么操作Excel文件。与word文件的操作库python-docx类似,Python也有专门的库为Excel文件的操作提供支持,这些库包括xlrd、xlwt、xlutils、openpyxl、xlsxwriter几种,其中我最喜欢用的是openpyxl,这也是本次讲解的主要内容。Excel文件大家也不陌生了,平时办公、学习中都会用到,大家回忆一下,你操作一个Excel文件是什么步骤呢?下图给出一个Excel文件,大家对照着想一想。

OK,我们一起捋一捋,首先要新建或打开一个Excel文件,然后选择某个工作表,也就是上图中的sheet,最后读取或设置单元格的值。与此相对应的,在openpyxl中,有三个概念:Workbooks,Sheets,Cells。Workbook就是一个打开的excel文件,即excel工作簿;Sheet是工作簿中的一张表,即工作表;Cell就是一个简单的单元格。openpyxl就是围绕着这三个概念进行的,不管读写都是“三板斧”:打开Workbook,定位Sheet,操作Cell。OK,了解了基本概念,我们实际操作看看吧!

首先,openpyxl并不是Python 3预装的库,需要我们手动安装,很简单打开命令行窗口输入pip install openpyxl就可以了。如下图所示,我的已经安装好了,所以输出信息可能和大家的会不一样。

安装好openpyxl后,通过import语句导入,再通过执行help方法,看看openpyxl库中包含哪些东西,不需要认识,有个印象就行。

里面有一些单词还是很熟悉的吧,比如cell单元格、chart图表、styles样式、workbook工作簿、worksheet工作表,除了用help方法,还可以使用dir方法来查看一个库的所有成员,我把我们一会儿可能会用到的一些已经标红了,大家在学习的过程中可以重点关注下。

下面给出操作Excel文件的一般步骤:

1、打开或者创建一个Excel:需要创建一个workbook对象,其中打开一个Excel所采用的是load_workbook方法,而创建一个Excel则直接通过实例化类workbook来完成。

2、获取一个工作表:需要先创建一个workbook对象,然后使用该对象的方法来得到一个worksheet对象。

3、如果要获取表中的数据,需要先得到一个worksheet对象,再从中获取代表单元格的Cell对象。

OK,我们在Python中实际操作看看吧,操作的对象是2018年度海南考试录入公务员的职位表,如下图所示。

下面给出一些基本操作示例,大家可照着写一下。

再秀一下操作,一下子读取指定行列的单元格,用到了iter_rows方法,表示在参数指定范围内按行迭代,如果想要按列迭代的话可以使用iter_cols方法。

上面的代码展示了如何操作一个已有的Excel文件,下面再看一下新建一个Excel的例子。

生成的Excel文件如下图所示:

OK,是不是感觉操作Excel很简单啊,那是因为你在这一段时间的Python学习中进步了,给自己一个赞!谢谢大家的关注与阅读,后面还有更多的编程美味,敬请享用。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[嵌入式系统-16]:RT-Thread -2- 主要功能功能组件详解与API函数说明

目录 一、RT-Thread主要功能组件 二、内核组件 2.1 概述 2.2 API 三、设备驱动 3.1 概述 3.2 API 四、通信组件 4.1 概述 4.4 API 五、网络组件 5.1 概述 5.2 API 5.3 补充:MQTT协议 六、文件系统 6.1 概述 6.2 API 七、GUI 组件 7.1 概述 7.2 …

小米米家智能摄像头mp4多碎片手工恢复案例

小米米家智能摄像头mp4多碎片手工恢复案例 智能摄像头品牌中小米算是绝对的大厂,其采用的方案也是比较成熟比较典型的:日志截图1分钟1个文件。小米米家的智能摄像头之前处理过很多,这次来讲一个比较特殊的案例。 故障存储: 32G TF卡 fat…

机器学习和统计学的区别?

1、本质区别: 目标:机器学习的核心目标是建立一个可以自动学习和改进的模型,以预测未知数据。它更关注结果的准确性和模型的泛化能力,通常不关心模型是否可以解释。而统计学的目标是探究变量之间的关系,理解数据的内在…

HCIA-HarmonyOS设备开发认证V2.0-轻量系统内核基础-信号量semaphore

目录 一、信号量基本概念二、信号量运行机制三、信号量开发流程四、信号量接口五、代码分析(待续...)坚持就有收获 一、信号量基本概念 信号量(Semaphore)是一种实现任务间通信的机制,可以实现任务间同步或共享资源的…

RT-Thread(RTT)如何打印输出浮点数

问题: 一、基于RTT的工程下,打印输出浮点数 二、输出的都是这些,因为RTT默认下不支持输出浮点数 解决: 一、点击RT-Thread Settings 二、点击添加软件包 三、输入print ,搜索后添加rt_vsnprintf_full这个 四、添加后…

【惠友小课堂】滑雪的尽头是骨科?这份滑雪指南快收好,安全快乐两不误

今年滑雪运动异常火爆,寒假一开启,不少家长趁着放假打算带孩子出门玩一趟,各地的滑雪场也成了最热门的旅游项目之一。 但说到滑雪 不少网友调侃“听说雪道的尽头是骨科”还有人说“今年滑雪一共花了2万”“滑雪2000,骨折进医院180…

相机图像质量研究(13)常见问题总结:光学结构对成像的影响--鬼影

系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结:光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结:光学结构对成…

RK3568笔记十六:Framebuffer实验

若该文为原创文章,转载请注明原文出处。 本意是移植LVGL,但在编译DRM过程中一直编译失败,然后就想Framebuffer是否可以用,所以测试一下。 一、framebuffer介绍 FrameBuffer中文译名为帧缓冲驱动,它是出现在2.2.xx内…

【刷题记录】合并两个有序数组、移除元素

本系列博客为个人刷题思路分享,有需要借鉴即可。 1.题目链接: T1:LINK T2:LINK 2.详解思路: T1: 思路1:弄个新数组,比较两个数组中的值,哪个小就把哪个值放到新数组中。 分析1&a…

精品jsp+ssm汽车店维保信息系统

《[含文档PPT源码等]精品jspssm汽车店维保信息系统[包运行成功]》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功! 使用技术: 开发语言:Java 框架:ssm 技术:JSP JDK版本&…

智慧供应链控制塔大数据解决方案

一、供应链控制塔的概念定义 (1) Gartner 的定义: “控制塔是一个物理或虚拟仪表板,提供准确的、及时的、完整的物流事件和数据,从组织和服务的内部和跨组织运作供应链,以协调所有相关活动。”、“供应链控制塔…提供供应链端到端整体可见性和近实时信息和决策的概念……

0901多元函数的基本概念-多元函数微分法及其应用

文章目录 1 平面点集1.1 坐标平面1.2 平面点集1.3 邻域1.4 电与点集的关系1.5 聚点1.6 点集所属点的特征定义的平面点集 2 多元函数的概念2.1 定义2.2 值域2.3推广2.4 自然定义域2.5 二元函数的图形 3 多元函数的极限4 多元函数的连续性4.1 连续函数定义4.2 间断点定义4.3 多元…

『 C++ - STL 』位图(BitMap)与布隆过滤器(Bloom Filter)

文章目录 🧸 位图(BitMap)概念🧸 位图的实现🪅 总体框架🪅 位图的数据插入🧩 左移操作与右移操作的区别 🪅 位图的数据删除🪅 位图的数据查找🪅 位图整体代码(供参考) 🧸…

第7章 Page449 7.8.9智能指针 std::unique_ptr课堂作业,使用智能指针改写foo()函数

源代码&#xff1a; /** \brief 使用std::unique_ptr改写智能指针章节开始的foo()函数** \param* \param* \return**/ #include <iostream> #include <memory>using namespace std;struct O {~O(){cout << "我是被管的对象。我要被释放啦......" …

【Java多线程】对进程与线程的理解

目录 1、进程/任务&#xff08;Process/Task&#xff09; 2、进程控制块抽象(PCB Process Control Block) 2.1、PCB重要属性 2.2、PCB中支持进程调度的一些属性 3、 内存分配 —— 内存管理&#xff08;Memory Manage&#xff09; 4、线程&#xff08;Thread&#xff09;…

关于DVWA靶场Could not connect to the database service的几种解决办法

总的来说这个问题都是 config 配置文件没有修改正确 一般修改数据库的用户名和密码与 phpstudy 一致并且添加了 key 就能初始化成功的 但是我还遇到过另一种情况&#xff0c;修改了上面的东西依旧无法连接到数据库 Could not connect to the database service. Please check …

猫头虎分享已解决Bug || ValueError: Found array with dim 3. Estimator expected <= 2.

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

记录一下,我使用stm32实现pwm波输入,以及对频率和占空比的计算,同时通过串口输出(stm32-timer capture)(实现-重要)

1&#xff0c;首先看下半物理仿真 看下我的配置&#xff1a; 看下计算方法以及matlab的仿真输出的数据&#xff1a; timer3的ch2是选择高电平&#xff0c;计算频率 timer3的ch1是选择的是低电平&#xff0c;用来计算周期 其中TemPIpre表示的是CH2输出的值&#xff0c; TemPI…

飞天使-k8s知识点18-kubernetes实操3-pod的生命周期

文章目录 探针的生命周期流程图prestop 探针的生命周期 docker 创建&#xff1a;在创建阶段&#xff0c;你需要选择一个镜像来运行你的应用。这个镜像可以是公开的&#xff0c;如 Docker Hub 上的镜像&#xff0c;也可以是你自己创建的自定义镜像。创建自己的镜像通常需要编写一…

H5大气的互联网建站服务公司静态HTML网站模板源码

H5大气的互联网建站服务公司静态HTML网站模板源码 源码介绍&#xff1a;一款大气的互联网建站服务公司/工作室静态HTML网站模板&#xff0c;带有多个单页&#xff0c;可自行二开作为工作室或公司官网。 下载地址&#xff1a; https://www.changyouzuhao.cn/13456.html