개요
여러 개의 CSV 파일을 단일 데이터프레임으로 합치려면 파이썬의 glob 모듈을 활용하는 것이 가장 간편합니다. os.path.join() 메서드로 파일 경로 패턴을 지정한 뒤, 이를 concat() 함수 내부에서 함께 사용하면 여러 CSV 파일을 한 번에 손쉽게 병합할 수 있습니다.
1. 필요한 라이브러리 임포트하기
먼저 필요한 라이브러리들을 임포트합니다. pandas 라이브러리는 관례적으로 pd라는 별칭(alias)으로 불러옵니다.
import pandas as pd import glob import os
2. 예제용 CSV 파일 준비
이번 예제에서는 아래와 같은 3개의 CSV 파일을 사용합니다.
Sales1.csv

Sales2.csv

Sales3.csv

3. 파일 경로 설정 및 파일 목록 가져오기
병합할 파일들이 바탕화면(Desktop)에 저장되어 있다고 가정하고, 여러 파일을 찾기 위한 경로 패턴을 먼저 지정합니다.
files = os.path.join("C:\\Users\\amit_\\Desktop\\", "sales*.csv")다음으로 glob을 사용해 해당 패턴과 일치하는 파일들의 목록을 반환받습니다.
files = glob.glob(files)
전체 코드 예제
지금까지 설명한 내용을 종합한 전체 코드는 다음과 같습니다.
import pandas as pd
import glob
import os
# 여러 파일을 합치기 위한 경로 설정
files = os.path.join("C:\\Users\\amit_\\Desktop\\", "sales*.csv")
# 병합 대상 파일 목록 반환
files = glob.glob(files)
print("Resultant CSV after joining all CSV files at a particular location...");
# concat과 read_csv를 활용한 파일 병합
df = pd.concat(map(pd.read_csv, files), ignore_index=True)
print(df)실행 결과
위 코드를 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다. 세 개의 CSV 파일에 담긴 자동차 판매 데이터가 인덱스가 새롭게 정렬된 상태로 하나의 데이터프레임에 깔끔하게 통합되었습니다.
Resultant CSV after joining all CSV files at a particular location...
Car Place UnitsSold
0 Audi Bangalore 80
1 Porsche Mumbai 110
2 RollsRoyce Pune 100
3 BMW Delhi 95
4 Mercedes Hyderabad 80
5 Lamborghini Chandigarh 80
6 Volvo Rajasthan 150
7 Hyundai Manipur 120
8 Toyota HP 70마무리
glob.glob()으로 파일 목록을 수집한 뒤 pd.concat(map(pd.read_csv, files), ignore_index=True)로 읽어 들여 하나로 합치는 방식은 코드가 짧고 직관적이어서 실무에서도 널리 사용됩니다. 파일 개수가 많거나 파일명이 일정한 규칙을 따르는 경우 특히 유용하며, ignore_index=True 옵션 덕분에 각 파일의 기존 인덱스가 중복되지 않고 연속된 새 인덱스로 재정렬됩니다.