Как обработать все файлы определенного расширения в директории? Python

В задании требуется считать содержимое всех файлов расширения .csv в директории которая задается пользователем. Как это реализовать?


Ответы (3 шт):

Автор решения: Alioshca Z
import os

#просто найти файлы.csv
for f in os.scandir('Ваш_путь_к_директории'):
    if f.is_file() and f.path.split('.')[-1].lower() == 'csv':
        print(f.path)

#прочитать содержимое
for f in os.scandir('Ваш_путь_к_директории'):
    if f.is_file() and f.path.split('.')[-1].lower() == 'csv':
        with open(f.path, 'r') as csvfile:
            print(csvfile.read())
→ Ссылка
Автор решения: nomnoms12

Вы можете воспользоваться модулем glob и его одноимённым методом для поиска файлов по некоторой маске.

Пример:

import glob


for file in glob.glob('*.csv'):
    ...
→ Ссылка
Автор решения: garrythehotdog

Для получения путей к файлам существуют 2 самых распространенных варианта:

  1. С использованием функции walk модуля os. В данном случае происходит опрос и вложенных директорий. Вариант использования:

files_list = [os.path.join(root, fname) for root, sub, files in os.walk(r"c:\in") for fname in files]

  1. Использование функции glob модуля glob Данная функция часто используется в задач анализа данных и ML.

from glob import glob files_lst = glob(fr"c:\*.csv")

p.s Что то мне подсказывает, что Вам надо считать несколько csv и объединить их в один df - если это так, тогда вам сюда

→ Ссылка