(python批量处理表格)(python批量处理表格数据)

这篇文章是接着对昨天那篇文章(【学习心得】Python批量提取多个Excel文件内容)的代码进行解析。本篇文章为python入门技巧练习,默认读者已经掌握基本的python应用。

在解析过程中,可能你会不明白一些术语,但这毫无关系。只要记住那些代码代表了什么样的功能即可,就像小时候背古诗那样,虽然不懂诗的意思,但是能够做到熟记于心,就算是入门成功了。在积累了很多这样的知识点之后,你会发现,量变产生了质变!(谁能告诉我这句话出自谁之口???马克思?黑格尔?纠结ing)

有了昨天那篇文章(历史消息有,不细说了)做铺垫,我们今天直接上代码,分为四个部分,如下:

(python批量处理表格)(python批量处理表格数据)

先大致讲解一下代码战(yun)斗(xing)经过,开头先锋区:刺探军情,提供充足的作战信息;大队人马区:笼络各方数据,准备进行战斗;精准作战区:进入战斗,按照既定作战计划(提出的需求)进行数据处理;后勤补给区:扫尾工作,不留后遗症!

第一部分是开头先锋区,顾名思义,开头先锋的功能就是刺探军情,首先就是由代码:#coding=utf-8刺探到整个程序是在UTF-8的编码环境下进行的,除了这个,还有ASCII编码格式、GBK编码格式等等,要想打胜仗,程序得知道自己的作战环境对不对。确定了作战环境,还要知道用什么武器最好。所以,先锋部队搜集到情报,说本场战斗需要两个武器作战系统:一个是os,另一个是openpyxl。因此,可以用import语句导入这两个依赖包,代码如下:

import openpyxl

import os

其中,os主要针对涉及到系统操作的问题进行响应,给openpyxl提供助攻;而openpyxl则是本场战斗的核心武器,就是要用它来解决掉涉及excel的疑难杂症。

第二部分是大队人马区,之所以叫大队人马,就是说本场战斗所有人员(数据),都在这里了…在上一篇文章中,我们说了需要提取多个excel文件内容。提取内容之后放在哪里呢???我们采取的方法是新建一个excel文档,并且把提取的数据内容放进这个新的文档内,请看代码:

wb2=openpyxl.Workbook()

wb2.save('newdata.xlsx')

这两句代码的意思是新建一个excel文档,并且给其命名为"newdata"存储下来。存储的是excel空文档,这个空文档将被用来存放我们最终提取的数据。

下面三句代码,print可以打印它后面跟着的字符串。os.listdir(filepath)的功能是遍历filepath路径下的文件,然后把文件名以list形式传给dataset。至此,文件夹里所有excel文件名都存放在的dataset中,这一步是批量处理的关键!

print u"新建Excel文件成功"

filepath="c:\\cz\\data"

dataset=os.listdir(filepath)

我们在CMD命令提示行中运行以上代码,如下图:

(python批量处理表格)(python批量处理表格数据)

由上图可以看见,dataset中存储了所有的excel文件名。

第三部分是精准作战区有了前面的铺垫,这一段解释我就直接以注释形式解释说明,请看下图:

(python批量处理表格)(python批量处理表格数据)

运行以上代码,则dataset中所有excel的需要区域已经被我们提取出来,并全部赋予wb2,也就是newdata.xlsx。可以发现我们使用了循环单元格内容的方法进行提取,所以这是对单元格级别的内容进行操作,比较灵活,这就体现了精准作战。还有其他功能可以直接对整行或整列进行操作。

第四部分是后勤补给区,这一部分就比较简单了,就是对战斗结果做一个总结处理。首先是将刚才接收大量数据的wb2文档存储起来,即上面讲的"save" 功能。然后close()功能就是关闭上面代码运行时打开的wb1和wb2文档,释放内存。就好比作战完毕后,由close()功能来清扫战场,不留下任何蛛丝马迹,一方面可以腾出战场供他人战斗使用(释放内存);另一方面让wb1和wb2文档缓口气应对下一场战斗(解除程序占用锁)。

wb2.save('newdata.xlsx')

wb1.close()

wb2.close()

print "run process successfully"

赶着时间,匆匆忙忙,终于写完了,潦潦草草马马虎虎,比较乱,嘿嘿….

声明:我要去上班所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者奋斗的小王子cz所有,原文出处。若您的权利被侵害,请联系删除。

本文标题:(python批量处理表格)(python批量处理表格数据)
本文链接:https://www.51qsb.cn/article/m813y.html

(0)
打赏微信扫一扫微信扫一扫QQ扫一扫QQ扫一扫
上一篇2023-05-09
下一篇2023-05-09

你可能还想知道

发表回复

登录后才能评论