您当前的位置:首页 > 电脑办公 > excel
| PPT | 电脑打字 | 计算机基础 | word | excel | Linux教程 |

自学教程:Python批量处理Excel文件

51自学网 2021-11-24 20:53:56
  excel
这篇教程Python批量处理Excel文件写得很实用,希望能帮到您。

本文介绍了利用Python批量处理Excel文件的一种方法,超实用,超简单。轻松可实现,节省时间不只一点点。文章不长,功能超强。

上菜。

某一天,老板丢个我一个任务。需要将400多张表按照一定条件进行处理。顿时觉得头大,倒不是数据处理有多么复杂,只是太费时间。

每一张数据表大概长这样:

需要 删除7,8,9,10,11。并且删除4列中小于100,大于200的值。接到任务就上手一试,打开Excel,筛选,删除,保存关闭,一气呵成,时间已过去2分钟。

一共497张表。一张表2分钟,497张表就是994分钟,就是17个小时,也就是上班不眠不休,不浪费一秒钟的进行处理,也需要2天时间。这肯定是不可能的。机智的我绝不可能这样浪费时间,这样劳累自己。

我辛辛苦苦花费时间自学的Python要登场了,养兵千日,用兵一时。如今也该是你报恩的时候儿了。

于是,开始撸代码。

撸代码前理一遍逻辑,想想有什么办法实现批量处理每个Excel文件。灵光一现,先获取497个Excel文件的集合,再创建一个循环,读取集合中的每一个对象,对每一个对象进行处理,输出文件。逻辑上没有什么漏洞。接下来写代码:

#导入包
import pandas as pd
import os
import xlwt

 

#获取文件集合
filename = os.listdir(r'C:\Users\Administrator\Desktop\test')

 

#创建循环,遍历每一个Excel文件
for i in range(len(filename)):
   #读取文件
   df = pd.read_excel('C://Users//Administrator//Desktop//jkr//' + filename[i])
   #按照条件处理文件
   df = df.drop(['7','8','9','10','11'],axis=1)
   df = df.drop(df[(df['4'] < 100) | (df['4'] > 200)].index)
   #将处理好的数据导出
   df.to_excel('C://Users//Administrator//Desktop//test//' + filename[i])
   print(filename[i]+'********文件处理成功')

OK,跑了一遍,奇迹出现了。497张表完完整整,一个不落的处理完成,用时没有超过3分钟。我不自觉的笑出了声。

接下来将代码优化一下,完整代码如下:

import pandas as pd
import os
import xlwt

def main():
    filename = os.listdir(r'C:\Users\Administrator\Desktop\test')
    for i in range(len(filename)):
        try:
            
            df = pd.read_excel('C://Users//Administrator//Desktop//test//' + filename[i])
            df = df.drop(['7','8','9','10','11'],axis=1)
            df = df.drop(df[(df['4'] < 100) | (df['av_mag'] > 200)].index)
            df.to_excel('C://Users//Administrator//Desktop//test//' + filename[i])
            
            print(filename[i]+'********文件处理成功')
        except Exception as e:
            pass
        continue
        
        
if __name__ == "__main__":
    main()

Python实现对csv的批量处理并保存
df.drop()函数删除多行或者多列
51自学网,即我要自学网,自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1