Trouver tous les fichiers CSV dans un répertoire en utilisant Python

Comment puis-je trouver tous les fichiers dans le répertoire avec l'extension .csv en python?

23
demandé sur meagar 2012-02-11 00:44:27

4 réponses

import os
import glob

path = 'c:\'
extension = 'csv'
os.chdir(path)
result = [i for i in glob.glob('*.{}'.format(extension))]
print(result)
45
répondu thclpr 2016-12-02 15:06:05
from os import listdir

def find_csv_filenames( path_to_dir, suffix=".csv" ):
    filenames = listdir(path_to_dir)
    return [ filename for filename in filenames if filename.endswith( suffix ) ]

La fonction find_csv_filenames() renvoie une liste de noms de fichiers qui résident dans le répertoire path_to_dir avec le suffixe (par défaut, ".csv").

Addendum

comment imprimer les noms de fichiers:

filenames = find_csv_filenames("my/directory")
for name in filenames:
  print name
23
répondu Bernhard Kausler 2012-02-14 16:52:17

utiliser Python OS module pour trouver le fichier csv dans un répertoire.

l'exemple simple est ici :

import os

# This is the path where you want to search
path = r'd:'

# this is the extension you want to detect
extension = '.csv'

for root, dirs_list, files_list in os.walk(path):
    for file_name in files_list:
        if os.path.splitext(file_name)[-1] == extension:
            file_name_path = os.path.join(root, file_name)
            print file_name
            print file_name_path   # This is the full path of the filter file
5
répondu Rajiv Sharma 2016-07-26 08:29:14

j'ai eu pour obtenir csv fichiers qui étaient dans des sous-répertoires, donc, en utilisant la réponse de tchlpr je l'ai modifié pour fonctionner le mieux pour mon cas d'utilisation:

import os
import glob

os.chdir( '/path/to/main/dir' )
result = glob.glob( '*/**.csv' )
print( result )
3
répondu rs77 2017-08-21 22:37:12