今天分享Python与Excel结合的一个小案例,也是工作上用到的。
领导给了我一个含有183个用户名字的Excel表格和一个装有156个规则命名但需要修改的图片的文件夹,让我通过156个jpg图去对照183个用户名字,把没有图的名字标记出来,然后再从一个巨大的表里找这些标记的名字对应的编号,最后进内部系统去找到里面的图。
那么我要做的事情就有以下几个:
1、用Python把Excel表格导入Jupyter
2、从OS系统提取文件夹里面的文件名并形成list
3、用replace将不规则的文件名修正
4、导出list,并将txt文件里面的名字复制到新建的Excel表格中
5、在Excel里面使用Vlookup函数进行匹配,对比两组名字,匹配成功的名字标红
6、继续用Vlookup函数与巨大的表进行匹配,查出对应的编号
7、进内部系统去找到里面的图
OK,那咱们开始吧!
1)导入OS文件夹数据并提取list
# 导入os模块
import os
# path定义要获取的文件名称的目录(C盘除外)
path = "D:\所有用户的图片"
# os.listdir()方法获取文件夹名字,返回数组
file_name_list = os.listdir(path)
file_name_list通过这个代码,得出以下列表

2)导入pandas包,读取表格的内容
# pd.options.display.precision=999
import pandas as pd
df = pd.read_excel(r"D:\所有住房\大蒙村2022年日常工作计划【最新】.xlsx",header=1)
print(df.shape)
df.head()通过这个代码,得出以下显示

3)使用replace函数修正列表内容
file_name = str(file_name_list)
file_name = file_name.replace("[", "").replace("]", "").replace("(2)", "").replace("'", "").replace(",", "\n").replace(" ", "").replace(".jpg", "").replace("大蒙村三家寨","").replace("大蒙村半岭屯","").replace("大蒙村小蒙屯","").replace("大蒙村白瓜屯","").replace("大蒙村纳冷屯","").replace("大蒙村纳冷","")
file_name通过这个代码,得出以下显示

4)将文件名写入到"文件list.txt"并保存
f = open(path + "\\" + "文件list.txt", "a")
# 将文件下名称写入到"文件list.txt"
f.write(file_name)
f.close()5)打开"文件list.txt",把里面多余的一些东西剔除掉重新保存
6)复制txt的内容到新建的Excel表格中
7)在183用户名单表里使用Vlookup函数与新建的表进行匹配
=VLOOKUP(B2,'C:\Users\Lenovo\Desktop\[新建的表.xlsx]Sheet1'!$B$2:$C$155,2,0)
8)筛选出“#N/A”的行进行标红
9)在183用户名单表里使用Vlookup函数与巨大的表进行匹配,获得用户编号
=VLOOKUP(B2,'C:\Users\Lenovo\Desktop\[巨大的表.xlsx]Sheet1'!$J:$K,2,0)
10)最后进内部系统查找出想要的图
今天其实是可以用Python进行到完美匹配的,但是时间紧任务重,我久不用Python手都生疏了,情急之下跟Excel相结合,效果也不错,总好过一个个去查找,估计找完也瞎了,哈哈。
















