파이썬에서 특정 디렉토리와 그 하위 디렉토리를 포함하여 모든 Excel 파일(예: .xlsx, .xls)을 찾으려면 os 모듈과 glob 모듈을 사용할 수 있습니다. 여기에서는 두 가지 방법을 소개합니다: os 모듈의 walk() 함수를 사용하는 방법과 pathlib 모듈의 Path.rglob() 메서드를 사용하는 방법입니다.
첫번째, os.walk()를 사용하는 방법
import os
def find_excel_files(root_dir):
excel_files = []
for dirpath, dirnames, filenames in os.walk(root_dir):
for filename in filenames:
if filename.endswith(('.xlsx', '.xls')):
excel_files.append(os.path.join(dirpath, filename))
return excel_files
# 사용 예
root_directory = 'your_directory_path_here'
excel_files = find_excel_files(root_directory)
for file in excel_files:
print(file)
이 코드는 지정된 루트 디렉토리(root_directory)와 그 하위 디렉토리를 모두 탐색하여 .xlsx 또는 .xls 확장자를 가진 파일의 전체 경로를 리스트로 반환합니다.
두번째, pathlib.Path.rglob()를 사용하는 방법
pathlib은 Python 3.4 이상에서 사용할 수 있으며, 파일 시스템 경로를 객체 지향적으로 쉽게 다룰 수 있게 해 줍니다.
from pathlib import Path
def find_excel_files(root_dir):
excel_files = list(Path(root_dir).rglob('*.xlsx')) + list(Path(root_dir).rglob('*.xls'))
return [str(file) for file in excel_files]
# 사용 예
root_directory = 'your_directory_path_here'
excel_files = find_excel_files(root_directory)
for file in excel_files:
print(file)
rglob() 메서드는 지정된 패턴과 일치하는 모든 파일의 경로를 재귀적으로 검색합니다. 이 예제에서는 *.xlsx와 *.xls 패턴을 사용하여 Excel 파일을 찾습니다.
두 방법 모두 지정된 디렉토리와 그 하위 디렉토리에서 Excel 파일을 찾는 데 사용할 수 있으며, 사용자의 필요와 선호도에 따라 선택할 수 있습니다.
< 참조 >
https://zephyrus1111.tistory.com/460
https://nck2.github.io/%EC%97%85%EB%AC%B4%EC%9E%90%EB%8F%99%ED%99%94/excelpython/
https://dataleader.tistory.com/24
https://mingchin.tistory.com/168
'python > tips' 카테고리의 다른 글
Dataframe 특정 컬럼이 있는지 확인하는 방법 (0) | 2024.03.29 |
---|---|
Dataframe에서 특정 행에 대한 항목이 없을때 (0) | 2024.03.29 |
Dataframe 특정 Column 값으로 Filter 하는 방법 (0) | 2024.03.29 |
excel 파일을 읽어서 Dataframe으로 변환 (0) | 2024.03.29 |
python으로 파일이 존재하는지 확인 (0) | 2024.03.15 |