반응형
특정 폴더 안의 확장자별 파일 리스트 생성 - os.listdir()
들어가며
여러 개의 파일이 저장된 폴더에서 특정 확장자 파일만을 추출할 때, 파이썬 os의 listdir을 사용하여 편리하게 리스트를 불러올 수 있습니다.
파일 리스트 생성
먼저 필요한 패키지인 os를 import 합니다.
import os
원하는 폴더의 경로를 적고 os의 listdir을 활용하여 리스트를 불러옵니다. 현재 monthly_fc 폴더에는 오른쪽 이미지와 같이 csv와 txt 파일이 모두 저장되어 있습니다.
csv_list = os.listdir('/Users/monthly_fc/')
csv_list[0:5]
특정 확장자 파일만 추출하고 싶다면, find를 사용합니다. 만약 위 폴더처럼 csv 파일과 txt 파일이 함께 있는 경우에 csv 파일 리스트만 추출하고 싶다면, 다음과 같이 필터링을 합니다.
csv_list = os.listdir('/Users/monthly_fc/')
csv_list = [file for file in csv_list if file.find(".csv") !=-1]
csv_list[0:5]
반응형
파일 리스트 생성을 활용한 데이터프레임 병합
os.listdir은 여러 개의 파일을 하나로 합칠 때도 유용합니다. 다음과 같이 monthly_fc 폴더 안의 csv 파일만 추출하여 csv_list를 생성합니다. 그리고 for문을 활용하여 각각의 파일을 읽고 concat으로 합치면, monthly_fc 폴더 안의 파일들을 1개의 데이터프레임으로 생성할 수 있습니다.
# montly_fc 폴더 내의 csv 파일 리스트 생성
csv_list = os.listdir('/Users/monthly_fc/')
csv_list = [file for file in csv_list if file.find(".csv") !=-1]
df_tot = pd.DataFrame() # 빈 데이터프레임 생성
for csv in csv_list:
df = pd.read_csv('/Users/monthly_fc/') + csv
df_tot = pd.concat([df_tot, df]) # csv 파일 1개의 데이터프레임으로 병합
반응형
'Python' 카테고리의 다른 글
[파이썬] 히트맵 그래프, 원하는 색상 설정 - seaborn, matplotlib (4) | 2025.04.02 |
---|---|
[파이썬] Daum 뉴스 기사 제목, 본문 크롤링 - BeautifulSoup (0) | 2025.04.01 |
[파이썬] 특정 키워드 네이버 뉴스 크롤링 - BeautifulSoup (12) | 2025.03.27 |
[파이썬] 데이터 건수, 평균, 최대/최소값 집계 - pandas groupby (8) | 2025.03.27 |
[파이썬] 대용량 csv 파일 부분 조회 - pandas, read_csv, nrows, chunksize (1) | 2025.03.25 |