Python

[Python]os 또는 glob를 활용한 파일리스트 가져오기

Meteors Woo 2020. 11. 8. 21:24

개발자D

주제 : os 또는 glob를 활용한 파일리스트 가져오기

모든 데이터가 하나의 파일로 되어있다면 편하겠지만, 일반적으로 그렇지 않습니다.
그래서 해당 특정파일 이름을 리스트로 가져오는 작업을 진행하고자 합니다.

C:/Users/BIGDATA/Subir2/Data/노원구(이하 "파일위치"로 명함)

 

1. import os

os를 활용하여 해당파일위치에서 .csv로 끝나는 모든 파일명을 가져올수 있습니다

import os

DIR_IN = "데이터위치 절대경로"

file_list = os.listdir(DIR_IN)
for file in file_list:          # 코드간결화 작업전
    if file.endswith(".csv"):
        print(file)

또는 아래와 같이 코드를 간결화하여 사용 가능합니다

import os

DIR_IN = "데이터위치 절대경로"

file_list = os.listdir(DIR_IN)
file_list_csv = [file for file in file_list if file.endswith(".csv")] # 코드간결화 작업후

 

os.listdir 결과

2. import glob

glob를 활용하여 동일하게 데이터위치에서 .csv로 끝나는 모든 파일명을 가져올수 있습니다

import glob

input_path = "데이터위치 절대경로/*.csv"  
for f in glob.glob(input_path):          # 코드간결화 작업전
	print(f)

또는 아래와 같이 코드를 간결화하여 사용 가능합니다

import glob

input_path = "데이터위치 절대경로/*.csv"
file_list = [f for f in glob.glob(input_path)] # 코드간결화 작업후

glob.glob 결과

3. 차이점

결과값을 보면, 확연한 차이를 볼 수 있습니다

(좌) os.listdir (우) glob.glob

os.listdir의 경우, 해당 디렉토리의 파일명만 가져오지만,
glob으로 파일 리스트를 가져올 경우 경로명을 포함합니다. 


Reference

728x90
반응형