分享

利用Python如何快速处理文件

 npkaida 2020-01-07

利用Python如何快速处理文件

我之前要合并将近1000个CSV表格

每个表格共370列,约360行不等,列名相同

三个方案瞬间浮现在我眼前:

1、Ctrl C + Ctrl V——可以睡公司了;

2、Excel Power Query,估计等电脑卡崩了,还得用回方案一;

3、敲代码!俗话说,没有什么是一行代码解决不了的,如果有,就再敲一行。

首先,我把这个问题分解成四个小目标

01查找到工作表所在文件位置

02提取表格

03合并表格

04导出表格

01查找文件位置

首先我们导入python的os模块: import os

使用os模块的walk方法输出指定目录的文件

for file in os.walk('F:/Document/学员数据'):

print(file)

我使用for循环遍历‘F:/Document/学员数据’,这个文件目录,得到一个(),这是“元组”(姑且理解为一个盛放东西的容器)。里面用两个逗号分成三部分:

1)第一部分就是我输入的文件夹目录。

2)第二部分是个空列表,不去管它。

3)第三部分也是一个列表,里面是我要提取的每个工作表。

第一个小目标达成(๑

02、提取表格

首先,我需要知道工作表的文件路径,这很简单!完整的路径就是文件夹目录+工作表名称

然后,我定义一个列表,嗯…这也是个容器,容纳提取的912个文件

接着,我导入pandas包,用read_csv()方法来提取工作表

最后,写好循环,把提取的文件装进列表中,别忘了设置一个计数,用来运行时显示进度

第二个小目标达成(๑·̀ㅂ

03、合并表格

03、合并表格

这里我们用到了pandas的concat方法。

pandas.concat()

合并刚才列表‘l’中的所有工作表到data_result这个变量中。

第三个小目标达成(๑·̀ㅂ·́)و✧

同样,解决问题的方法也来自于pandas这款神器。

pandas.DataFrame.to_csv()方法

其实,pandas可以保存数据为许多种格式,这里我还是选择了最常用的csv格式。

这里括号内首先填写保存的数据路径和名称,其次,别忘了设置index=0的参数,否则数据会多出一列索引列。啊?听不明白?动手试一试就明白了

第四个小目标达成(๑·̀ㅂ·́)و✧

让我们回顾一下代码全貌

代码不长,一共23行。

其中10-15行的是代码核心部分,这是实现工作表合并最基本的代码。

主要的工作思路是找到工作表所在的文件夹,提取其中每个工作表,合并它们,然后导出数据。(四个小目标)

才23行代码就可以解决你平时要4-5个小时处理的重复性工作,是不是大大提升了自己的工作效率呢!

见证奇迹的时刻到了~!

酱酱在最下面加了一个计时器,猜猜做完这一堆excel表格只要多久呢

哈哈哈几分钟

合并912个工作表仅仅只要150秒!

纯python开发,应用场景包括单工作簿多工作表、多工作簿多工作表、多文件夹多工作簿的合并。并且可以处理同时含以上三种情况的综合问题!

Python里面有超级超级多的Excel模块,Python也是胶水语言,可以非常好的调用C、JAVA的模块

到了12关你还可以做一个简单的员工管理系统

之前学员是处理厂的订单的,需要根据订单信息来打印标签。他每次处理订单都要四五个小时

python有很多处理excel的模块。于是,用python自动处理数据、生成标签

订单信息类似于这样的

每次有新订单,运行一下程序,两秒之内出结果,没有多复杂,大约20多行代码的事情而已~

这些是Python中常见的对文件的一些操作命令,可以看看,了解一下

在15关就有详细的关于python操作文件的课程学习,

通过这一关卡的学习,对于python操作写入和读取都能很好的学习到的

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多