2016-10-03 1 views
0

Bonjour encore StackExchange!Python 3 répertoire pandas recherche d'une chaîne dans le nom de fichier

En essayant d'imprimer tous les fichiers dans un répertoire mais cette fois je veux seulement imprimer tous les fichiers .csv qui ont la chaîne ... "AMX_error" ... csv quelque part dans le nom de fichier. J'ai le "tout .csv" fonctionnant, mais je manque ce peu de logique de recherche.

import glob 
import pandas as pd 

path = r'C:\Users\Desktop\Experiment\' 

#Following command to search for string in the filename 
allFiles = glob.glob(path + "/*.csv") & (search filename 'AMX_error' = true) 

for filename in allFiles: 
    print(filename) 

#rest of code.. 

Quelle est la notation à rechercher une chaîne dans un nom de fichier? Merci!

Répondre

1

À moins que vous n'ayez d'abord raison de filtrer les fichiers, vous pouvez simplement vérifier que la chaîne d'intérêt se trouve dans le nom de fichier lorsque vous êtes dans la boucle for.

import glob 
import pandas as pd 

path = r'C:\Users\Desktop\Experiment' 

#Following command to search for string in the filename 
allFiles = glob.glob(path + "/*.csv") 

for filename in allFiles: 
    if 'AMX_error' in filename: 
     print(filename) 
+0

Jamais pensé à utiliser une boucle if-then pour identifier des noms de fichiers spécifiques. Ça marche! Devrait être capable de gérer mon jeu de données nuancé (par nom de fichier). –