


Comment modifier un fichier nommé avec numéro d'identification par un nom à l'aide de Python?
Utilisation de scripts Python pour réaliser le renommer par lots des fichiers de numéros d'identification aux noms
Dans les applications pratiques, nous devons souvent traiter les fichiers nommés d'après le numéro d'identification et les renommer au nom correspondant. Cet article fournit une solution Python efficace qui combine des données de table Excel pour réaliser le renommer des fichiers par lots.
Supposons que vous ayez un fichier Excel (tel que "data.xls") qui contient le numéro d'identification et le nom de la correspondance, et un dossier qui contient les fichiers nommés d'après le numéro d'identification. Le code suivant vous aidera à compléter le renommage des fichiers:
Code d'origine et problèmes existants:
Le code suivant essaie de modifier le fichier du numéro d'identification à nommer en fonction de la relation de mappage dans la table Excel, mais il y a des problèmes d'efficacité et de robustesse:
Importer un système d'exploitation Importer des pandas en tant que PD df = pd.read_excel ("data.xls") id_list = os.listdir ("./") pour id_file dans id_list: id_num = id_file [: id_file.find (".")] ext = id_file [id_file.find ("."):] name = df [df ["numéro d'identification"] == id_num] .name.values imprimer (nom) Si Len (nom)! = 0: name = name [0] print (f "Démarrer le renommée: {id_file} -> {name} {ext}") os.rename (id_file, nom ext) imprimer ("Renommer se termine")
Le principal problème avec ce code est qu'il recherche plusieurs fois les fichiers Excel, ce qui est inefficace. Lorsqu'il y a trop de fichiers, les performances baisseront fortement.
Code Python amélioré:
Pour améliorer l'efficacité et la robustesse, nous adoptons une méthode de traversée plus directe:
Importer un système d'exploitation Importer des pandas en tant que PD df = pd.read_excel ("data.xls") id_name_map = dict (zip (df ["numéro de carte d'ID"], df ["name"])) # Créer un dictionnaire de mappage du numéro d'identification pour nommer id_list = os.listdir ("./") pour id_file dans id_list: id_num = id_file [: id_file.find (".")] ext = id_file [id_file.find ("."):] Si id_num dans id_name_map: new_name = id_name_map [id_num] ext print (f "Démarrer Rename: {id_file} -> {new_name}") os.rename (id_file, new_name) imprimer ("Renommer se termine")
Ce code crée d'abord un dictionnaire de mappage du numéro d'identification à nommer, puis itère la liste des fichiers et recherche le nom correspondant via le dictionnaire, évitant ainsi les recherches répétées des données de table Excel et améliorant considérablement l'efficacité. De plus, il montre également la logique du code plus clairement.
Avec les améliorations ci-dessus, vous pouvez implémenter plus efficacement le renommer des fichiers par lots et améliorer l'efficacité du travail. Veuillez vous assurer que le fichier "data.xls" existe dans le même répertoire que le script Python, et que les noms de colonne "numéro d'identification" et "nom" sont les mêmes que les noms de colonne du fichier Excel.
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!

Pythonusesahybridapproach, combinantcompilationToByteDodeAnd Intrepretation.1) CodeSompiledToplatForment-indépendantBytecode.2) ByteCodeisInterpretedByThepyThonVirtualmachine, améliorant la performance et la portabilité.

Thekeydifferencesbetweenpython "pour" et "tandis que" Loopsare: 1) "pour" LoopsareIdEalForitatriant sur les séquences ouvraires, tandis que 2) "tandis que" LoopsarebetterforcontinUnUntilaconditionMetStwithoutPredefinedIberations.un.un

Dans Python, vous pouvez connecter des listes et gérer des éléments en double via une variété de méthodes: 1) Utiliser les opérateurs ou prolonger () pour conserver tous les éléments en double; 2) Convertissez en ensembles puis revenez aux listes pour supprimer tous les éléments en double, mais l'ordre d'origine sera perdu; 3) Utilisez des boucles ou des compréhensions de liste pour combiner des ensembles pour supprimer les éléments en double et maintenir l'ordre d'origine.

ThefastestmethodforlistCaténationInpyThonDePendSonListSize: 1) forsmalllists, the opératorisefficient.2) Forlargerlists, list.extend () orlistcomprehensionsisfaster, witextend () étant lamememory-efficientBymoditifyListListsin-Lace.

ToinsertElementsIntoapyThonList, useAppend () toaddtotheend, insert () foraspecificPosition, andExtend () forulTipleElements.1) useAppend () foraddingsingleitemStotheend.2) useinsert () toaddataspecificIndex, wila'slowerLlowerLarleLis

Pythonlistsareimpoledasdynamicarrays, notLinkedlists.1) ils sont les plus utiles.

PythonoffersfourmainMethodstoreMoElelementsfromalist: 1) retirez (valeur) supprimer la perception de la réavance, 2) la pop (index) supprimera-theredraturnsanelementAsaspecifiedIndex, 3) DelstatementRemoveselementsbyIndexor

Toresolvea "Permissiondened" Erreur lorsqu'il a fait la recherche de suivi de suivi: 1) CheckAndAdAdAstheScript'sperMissionsusingChmod xmyscript.shtomakeitexecuable.2) s'assureraScriptisloatedInaDirectorywherewheyouHavewritePerMissions, telasyourhomedirectory.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

MantisBT
Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

mPDF
mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

SublimeText3 Linux nouvelle version
Dernière version de SublimeText3 Linux

Navigateur d'examen sécurisé
Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.

Listes Sec
SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.
