Maison > développement back-end > Tutoriel Python > python - recherche automatiquement les fichiers en fonction des données d'une feuille de calcul

python - recherche automatiquement les fichiers en fonction des données d'une feuille de calcul

巴扎黑
Libérer: 2017-06-23 16:01:04
original
2431 Les gens l'ont consulté

Je viens d'entrer en contact avec python récemment et je recherche quelques petites tâches pour mettre en pratique mes compétences. J'espère pouvoir continuer à exercer ma capacité de résolution de problèmes dans la pratique.

Le manager m'a récemment confié une tâche très fastidieuse : un projet très important est terminé, mais il doit être audité (de toute façon, c'est quelque chose comme une approbation) et l'ensemble du processus du projet doit être soumis. . Ce projet a duré une année complète, au cours de laquelle d'innombrables réunions ont eu lieu et des plans ont été élaborés, donnant lieu à de nombreux documents (dessins, feuilles de calcul, documents Word, images), petits et grands. La tâche actuelle consiste à rechercher les 300 fichiers spécifiés pour l'audit à partir d'un dossier volumineux.

C'est simple à faire, copiez simplement le nom du fichier dans la feuille de calcul, puis recherchez-le dans la barre de recherche pour le trouver. C'est bien de rechercher une douzaine de fichiers, mais c'est trop verrouillé pour le faire manuellement pour plus de 300 fichiers, n'est-ce pas ?

Solution :

  1. Utilisez python pour lire les 300 noms de fichiers dans la feuille de calcul et effacez les espaces

  2. Chaque nom de fichier est passé en paramètre au fichier batch Windows (.bat), laissez-le rechercher si le fichier existe et renvoie le résultat

  3. python reçoit le résultat et l'imprime

  4. À travers les résultats, confirmez manuellement à nouveau si celui identifié par le programme n'est vraiment pas trouvé, et s'il s'agit simplement d'un nom légèrement différent.

script 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("程序结束")
Copier après la connexion

code 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 )
Copier après la connexion

Ah~~Je me sens mieux tout d'un coup, et je peux échapper au travail compliqué, me prélasser au soleil et boire du thé. . .

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal