当前位置: 首页 > news >正文

讲解用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学习中进步了,给自己一个赞!谢谢大家的关注与阅读,后面还有更多的编程美味,敬请享用。

http://www.lryc.cn/news/300587.html

相关文章:

  • WEB APIs(1)
  • C++重新入门-基本输入输出
  • 【C语言】解析刘谦春晚魔术《守岁共此时》
  • 剑指offer——数值的整数次方
  • Tied Block Convolution: 具有共享较薄滤波器的更简洁、更出色的CNN
  • 算法沉淀——BFS 解决 FloodFill 算法(leetcode真题剖析)
  • wordpress外贸成品网站模板
  • 如何使用六图一表七种武器
  • 阿里云游戏服务器租用费用价格组成,费用详单
  • 【C++】C++11上
  • 【前端高频面试题--git篇】
  • c++创建对象
  • 软件实例分享,洗车店系统管理软件会员卡电子系统教程
  • 【Docker进阶】镜像制作-用Dockerfile制作镜像(一)
  • 数据密集型应用系统设计
  • 分布式文件系统 SpringBoot+FastDFS+Vue.js【一】
  • 【PyQt】11-QTextEdit、QPushButton
  • 初识webpack(二)解析resolve、插件plugins、dev-server
  • 什么是自编码器Auto-Encoder?
  • openGauss学习笔记-219 openGauss性能调优-确定性能调优范围-硬件瓶颈点分析-网络
  • SAP PP学习笔记- 豆知识01 - 怎么查询既存品目
  • 相机的机身马达有什么用?
  • 拿捏c语言指针(上)
  • JVM指令手册
  • Linux之多线程
  • TestNG invocationCount属性
  • 关于maven项目中无法通过邮件服务器发送邮件的补充解决方案
  • 树形dp 笔记
  • 2024-02-08 Unity 编辑器开发之编辑器拓展1 —— 自定义菜单栏
  • typescript中的Omit排除类型及Pick取想要的属性