批量处理EXCEL表格,进行指定内容的删除,并将修改后的结果按照原文件名进行命名
批量处理excel表格
工作生活中我们难免要处理大量的excel表格,而且许多是大量的重复性工作,耗时耗力,针对批量处理excel表格,对表格内容进行修改删除等操作,运用python程序进行处理省时省力,还不容易出错。
表格导入
首先我们先引入os和pandas两个数据处理库。
// python
import os
import pandas as pd
// python
import os
import pandas as pd
代码正常运行,如果不报错就表示成功导入了这两个库
然后,我们读取文件夹里面的多个excel表格
name_list = os.listdir('C:/Users/GTY/Desktop/周二')
print(name_list)
大家可以用print语句进行读写,成功读出数据,则会出现excel表的表格名称,如下所示
['三年级阅读提升.xls', '五年级语文提升xls', '创意画社团1.xls', '动漫绘画社团1.xls']
接下来我们读取每部分excel表格的数据内容,这里执行一个for循环语句:
// python
for i in name_list:
df = pd.read_excel(r'C:/Users/GTY/Desktop/周二/' + i)
print('{}读取完成'.format(i))
print(df)
读取成功之后,用print语句进行打印,如下所示:
三年级阅读提升.xls读取完成
教学班名称 学生姓名 账号 班级
0 三年级阅读提升 张三 610928 三年级小学2020级1班
1 三年级阅读提升 李四 610113 三年级小学2020级1班
2 三年级阅读提升 李云龙 610122 三年级小学2020级1班
3 三年级阅读提升 石头 610429 三年级小学2020级1班
4 三年级阅读提升 和尚 610423 三年级小学2020级2班
5 三年级阅读提升 孙悟空 610525 三年级小学2020级2班
……
删除操作
随后,我们对列中含指定内容的行进行删除操作
// python
df = df[~df['学生姓名'].str.contains('张三|石头')## 该操作将‘info’列中包含有张三或者石头的行去掉;~是取反的意思,str.contains是将该列内容转化成字符串并查看包含括号中内容.
三年级阅读提升.xls读取完成
教学班名称 学生姓名 账号 班级
1 三年级阅读提升 李四 610113 三年级小学2020级1班
2 三年级阅读提升 李云龙 610122 三年级小学2020级1班
4 三年级阅读提升 和尚 610423 三年级小学2020级2班
5 三年级阅读提升 孙悟空 610525 三年级小学2020级2班
……
另存为
在完成删除操作之后,我们对操作之后的数据进行按照原来的excel表格进行保存并且存放在另外一个文件夹中,这样操作的好处在于在for循环里面读取一个excel数据,对该数据内的指定内容进行删除,保存,然后再进行下一个excel表格的操作,并且保证excel表格另存为之后与原来的excel表格的名称一致,不会乱码。
// python
info_marks = pd.DataFrame(df)
info_marks.to_excel('C:/Users/GTY/Desktop/周二改/{}.xlsx'.format(i))
最后在桌面的“周二改”这个文件夹里就会存放修改过后的excel表格。