千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > Python操作Excel数据的封装函数

Python操作Excel数据的封装函数

来源:千锋教育
发布人:wjy
时间: 2023-01-09 11:37:00 1673235420

  对比其它编程语言,我们都知道Python最大的优势是代码简单,有丰富的第三方开源库供开发者使用。伴随着近几年数据分析的热度,Python也成为最受欢迎的编程语言之一。而对于数据的读取和存储,对于普通人来讲,除了数据库之外,最常见的就是微软的Excel。

  1.前期准备

  1.1. 初识Excel

  Microsoft Excel是Microsoft为使用Windows和Apple Macintosh操作系统的电脑编写的一款电子表格软件。

  1.2. 格式区别

  Excel中有xls和xlsx两种格式,它们之间的区别是:

  ●文件格式不同。xls是一个特有的二进制格式,其核心结构是复合文档类型的结构,而xlsx的核心结构是XML类型的结构,采用的是基于 XML的压缩方式,使其占用的空间更小。xlsx 中最后一个 x 的意义就在于此。

  ●版本不同。xls是Excel2003及以前版本生成的文件格式,而xlsx是Excel2007及以后版本生成的文件格式。

  ●兼容性不同。xlsx格式是向下兼容的,可兼容xls格式。

  1.3. 库的使用

  Python自带的模块中有针对xls格式的xlrd和xlwt模块,但这两个库仅仅是针对xls的操作,当我们要操作xlsx格式文件时,则需要使用到openpyxl第三方库。

Python操作Excel数据的封装函数1

  1.4. 整体思路

  当使用以上几个模块的时候,从理论上我们就可以完全操作不同格式的Excel的读和写,很多人就疑惑,那这篇文章的作用是什么?我们直接学习对应的这三个模块不就好了吗?

  答案就是:虽然这几个库已经把Excel的文件、表、行、列的概念完全转换为Python中的对象,但每次操作都需要遍历每一个单元格,甚至很多时候我们要花费大量的时间在思考循环单元格的边界上,这本身就是在重复造轮子,因此我花了半天时间整理了以下六个函数。

Python操作Excel数据的封装函数2

  2.代码展示

  2.1. xlz格式

  2.1.1. 读取xls格式文件

Python操作Excel数据的封装函数3

  2.1.2. 写入xls格式文件

Python操作Excel数据的封装函数4

  2.1.3. 追加写入xls格式文件

Python操作Excel数据的封装函数5

  2.2. xlsx格式

  2.2.1. 读取xlsx格式文件

Python操作Excel数据的封装函数6

  2.2.2. 写入xlsx格式文件

Python操作Excel数据的封装函数7

  2.2.3. 追加写入xlsx格式文件

Python操作Excel数据的封装函数8

  3.结果测试

  3.1. 读取测试

  先准备两个Excel文件,如图所示

Python操作Excel数据的封装函数9

  其内容如下:

Python操作Excel数据的封装函数10

Python操作Excel数据的封装函数11

  测试代码:

Python操作Excel数据的封装函数12

  输出结果:

Python操作Excel数据的封装函数13

  结论:表明读取并没有问题!!!接下来测试写入

  3.2. 写入测试

  测试代码:

Python操作Excel数据的封装函数14

  结果输出:

Python操作Excel数据的封装函数15

  看到数据被覆盖了!!!接下来在上面修改后的数据的基础上测试追加写入

  3.3. 追加写入测试

  测试代码:

Python操作Excel数据的封装函数16

  结果输出:

Python操作Excel数据的封装函数17

  追加也没有问题!!

  4.总结

  我们一直认为数据分析就应该以数据为主,而不应该把大量的代码花费在设计Excel表格的样式上,这样多少就有点主客颠倒的意思了。总之,希望这篇文章对正在学习Python的你有一定的帮助,如果对你有帮助的话,不妨点个赞和收藏吧!

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT
开班信息
北京校区
  • 北京校区
  • 大连校区
  • 广州校区
  • 成都校区
  • 杭州校区
  • 长沙校区
  • 合肥校区
  • 南京校区
  • 上海校区
  • 深圳校区
  • 武汉校区
  • 郑州校区
  • 西安校区
  • 青岛校区
  • 重庆校区
  • 太原校区
  • 沈阳校区
  • 南昌校区
  • 哈尔滨校区