Как обработать все файлы определенного расширения в директории? 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 самых распространенных варианта:
- С использованием функции walk модуля
os. В данном случае происходит опрос и вложенных директорий. Вариант использования:
files_list = [os.path.join(root, fname) for root, sub, files in os.walk(r"c:\in") for fname in files]
- Использование функции
globмодуляglobДанная функция часто используется в задач анализа данных и ML.
from glob import glob files_lst = glob(fr"c:\*.csv")
p.s Что то мне подсказывает, что Вам надо считать несколько csv и объединить их в один df - если это так, тогда вам сюда