본문 바로가기
Programing

[Python] 폴더 안에 파일 한번에 불러오기

by 머니 사이언티스트 2023. 5. 11.
반응형

python

파이썬 폴더 안에 파일 한번에 읽기

파이썬 코드로 폴더 안에 파일을 한번에 읽는 방법을 알려드리겠습니다. 한번에 확장자별 파일 불러오기, 하위 디렉토리 파일 읽기 뿐만 아니라 모든 하위 디렉토리에 있는 파일 읽기 등의 폴더 안에 파일 한번에 읽는 방법을 알아보겠습니다.


2023.06.27 - [Programing] - ADsP(데이터분석 준전문가) 자격증 취득 후기, 공부법, 교재, 수강료 등 총정리

 

ADsP(데이터분석 준전문가) 자격증 취득 후기, 공부법, 교재, 수강료 등 총정리

ADsP(데이터분석 준전문가) 자격증 취득 팁 & 후기 요즘 AI와 데이터 관련해 상당히 많은 관심이 집중된 가운데 현업에 있다 보니 데이터분석 준전문가 자격증 ADsP에 대해 문의 하시는 후배님들이

godessa.tistory.com

 

2023.06.23 - [Programing] - [Python] 파이썬 가상환경 생성 및 설치하기(Anaconda)

 

[Python] 파이썬 가상환경 생성 및 설치하기(Anaconda)

[Python] 파이썬 가상환경 생성 및 설치하기(Anaconda) 2023.05.11 - [Programing] - [Python] 폴더 안에 파일 한번에 불러오기 [Python] 폴더 안에 파일 한번에 불러오기 파이썬 폴더 안에 파일 한번에 읽기 파이

godessa.tistory.com

 

2023.05.11 - [Programing] - [Python] 폴더 안에 파일 한번에 불러오기

 

[Python] 폴더 안에 파일 한번에 불러오기

파이썬 폴더 안에 파일 한번에 읽기 파이썬 코드로 폴더 안에 파일을 한번에 읽는 방법을 알려드리겠습니다. 한번에 확장자별 파일 불러오기, 하위 디렉토리 파일 읽기 뿐만 아니라 모든 하위

godessa.tistory.com

 

2023.05.09 - [Programing] - [Python] 파이썬 파일 이동 파일 옮기기 - shutil.move 구현하기

 

[Python] 파이썬 파일 이동 파일 옮기기 - shutil.move 구현하기

Python 파이썬 파일 옮기기 - shutil.move 파일 이동하기 오늘의 포스팅 파이썬을 파일옮기는 방법를 안내해 드리겠습니니다. 원하는 파일을 원하는 위치에 이동하며 옮길 수 있도록 해보겠습니다.

godessa.tistory.com

 

2023.05.08 - [Programing] - [Python] 파이썬 csv파일 행분리 및 엑셀파일 행분리 후 저장

 

[Python] 파이썬 csv파일 행분리 및 엑셀파일 행분리 후 저장

파이썬 파일 행분리 후 저장 이번 포스팅에서는 파이썬(python) csv 파일 엑셀 행분리 후 저장하는 방법에 대해 알아보겠습니다. 다음 포스팅은 파이썬(python) csv파일 행 병합 및 엑셀 행 병합 방법

godessa.tistory.com

 


 

예제코드

1. 폴더 내의 파일 한번에 읽기 - os.listdir

import os
path = '경로'
file_list = os.listdir(path)

 

os.listdir을 사용하면 지정한 폴더 내의 파일을 한번에 불러오기 기능을 구현할 수 있습니다.

2. 폴더 내의 파일 중 특정 확장자 읽기

image, json, xml 파일 3가지가 있다는 가정 하에 예제를 만들었습니다.

import os
path = '경로'
file_list = os.listdir(path)

# 파일명이 .jpg로 끝나는 파일
img_list = [file for file in file_list if file.endswith('.jpg')]

# 파일명이 aa로 시작하는 파일
start_aa_list = [file for file in file_list if file.startswith('aa')]

# 파일명에 포함된 이름
img_list = [file for file in file_list if '.jpg' in file]

폴더 안의 파일 중 특정 확장자를 endswith('확장자')로 불러올 수가 있는데

파일명이  '.jpg'로 끝나는 파일들을 불러올 때는 if file.endswith('.jpg')

파일명이 'aa'로 시작하는 파일들을 불러올 때는 if file.startswith('aa')

파일명에 '.jpg'가 포함되는 파일들을 불러올 때는 if '.jpg' in file 

이러한 방식으로 적용해주시면 폴더 내의 파일 한번에 불러오기는 쉽게 적용하실 수 있습니다.

 

3. 모든 하위폴더의 파일 한번에 읽기 - os.walk()

다음은 데이터 관련 업무를 보시는 분들은 폴더의 depth가 깊을 때가 많습니다.

기관에서 6개월정도 교육받고 처음오시는 신입분들이 depth가 깊은 폴더내의 파일을 가져오는 데 힘들어 하시더라구요.

그래서 다음과 같이 모든 하위 파일을 한번에 불러오는 방법을 안내해 드리겠습니다.

path = '최상위 폴더 경로'

self.img_list = []
img_append = img_list.append
self.json_list = []
json_append = json_list.append
self.pcd_list = []
pcd_append = pcd_list.append

for root,dirs,files in os.walk(path): 
    for file_name in files:
        if file_name.endswith(('.jpg','.png')) :
            img_append(os.path.join(root,file_name))
        elif file_name.endswith('.pcd') :
            pcd_append(os.path.join(root,file_name))
        elif file_name.endswith(('.json','.txt')) :
            json_append(os.path.join(root,file_name))

먼저 폴더 내의 파일을 한번에 불러오기 위해 jpg, png, pcd, json, txt 의 5가지 확장자를 불러와야 한다고 가정하에 작성하였습니다.

 

file_name.endswith(('jpg','png'))는 폴더 내의 '.jpg', '.png'로 끝나는 파일을 모두 불러오게 되니 적용해서 사용해 주세요

file_name.endswith(.pcd)는 폴더 내의 pcd파일을 한번에 불러올 때 사용합니다.

마지막 json파일이나 txt 파일을 불러올 때는 file_name.endswith(('.json','.txt')) 로 불러왔습니다.

 

오늘은 3가지 방법에 대해 알아봤습니다.

1. 특정 폴더 안에 파일 한번에 불러오기

2. 특정 폴더 안에 파일 확장자별 불로오기, 시작하는 이름으로 불러오기, 포함되는 이름으로 불러오기

3. 모든 하위 폴더의 파일 한번에 불러오기

 

잘 적용해서 사용해 주시고 다음엔 더 유익한 정보로 포스팅 하겠습니다. 감사합니다!

반응형