python——根据电子表格的数据自动查找文件
程序员文章站
2022-06-01 22:09:09
...
最近刚接触python,找点小任务来练练手,希望自己在实践中不断的锻炼自己解决问题的能力。
经理最近又布置了一个很繁琐的任务给我:有一项很重大的项目做完了,但是要过审计(反正就是类似的审批之类的事情),要提交整个项目的过程性文件。这个项目做了整整有一年,其中的开了无数次会议,定了无数次方案,所以也形成了大大小小的很多个文件(图纸,电子表格,word文档,图像)。现在的任务就是要从一个很大文件夹中找出审计要的指定的300个文件。
这件事有手干也很简单,就是复制电子表格中的文件名,然后到搜索栏中去搜索它,找到它。十来个文件找找还好,300多个手动干就太反锁了,不是吗?
解决思路:
通过python去读取电子表格中的300个文件名并清除空格
将每个文件名作为参数传给windows的批处理文件(.bat),让它去查找文件是否存在,并将结果返回
python 接到结果打印出来
通过结果,再次手工确认程序识别出来的是否真的找不到,是否只是名字稍有差别。
python脚本:
1 import openpyxl 2 import os 3 #获得excel文件 4 wb = openpyxl.load_workbook('d:/201704.xlsx') 5 #获取列值 6 def get_delivery(wb): 7 #获取表单名称 8 sheet_names = wb.get_sheet_names() 9 #获取表10 sheet=wb.get_sheet_by_name(sheet_names[0])11 #获取列值,除了第一行的标题12 deliveries = [cellobj.value for cellobj in sheet['C'] if cellobj.value != None]13 return deliveries14 15 my_deliverys = get_delivery(wb)16 nofound = []17 # print(my_delivery)18 for delivery in my_deliverys:19 if os.system('search.bat %s' % delivery) == 1:20 nofound.append(delivery)21 22 for x in nofound:23 if x != '交付物列表:':24 print("没有找到的文件:%s" %x)25 print("程序结束")
search.bat 代码:
1 @echo off 2 3 set "FileName=%1" 4 set "FilePath=D:\" 5 echo 正在搜索文件... 6 7 for /f "delims=" %%b in ('dir /a-d /s /b "%FilePath%\*%FileName%" 2^>nul') do ( 8 if /i "%%~nxb" equ "%FileName%" ( 9 echo,%%b10 )11 )
啊~~一下子心情就好了,又可以从繁杂的工作里逃出来晒太阳喝喝茶了。。。
以上就是python——根据电子表格的数据自动查找文件的详细内容,更多请关注其它相关文章!
推荐阅读
-
Python自动化之数据驱动让你的脚本简洁10倍【推荐】
-
python 实现查找文件并输出满足某一条件的数据项方法
-
python接口自动化测试之接口数据依赖的实现方法
-
Python自动化之数据驱动让你的脚本简洁10倍【推荐】
-
python 实现查找文件并输出满足某一条件的数据项方法
-
python操作mongodb根据_id查询数据的实现方法
-
Python读取txt文件数据的方法(用于接口自动化参数化数据)
-
Python使用win32com模块实现数据库表结构自动生成word表格的方法
-
显示最高值和最低值的折线图能够根据数据源变化自动更新
-
基于Python3的接口自动化总结(六)——PostgreSQL数据库