Pandas로 여러 CSV 파일 하나로 합치기
여러 개의 CSV 파일을 단일 Pandas DataFrame으로 병합하려면 read_csv와 pd.concat()을 조합하면 됩니다. 가장 먼저 필요한 Pandas 라이브러리를 임포트합니다. 이 글에서는 관례대로 pd라는 별칭(alias)을 사용합니다.
import pandas as pd
1. 예제 CSV 파일 준비
이번 예제에서는 아래 두 개의 판매 데이터 CSV 파일을 사용합니다.
Sales1.csv

Sales2.csv

2. 파일 경로 설정하기
파일 경로를 문자열 형태로 지정합니다. 여기서는 두 파일 모두 바탕화면(Desktop)에 저장되어 있다고 가정합니다.
file1 = "C:\\Users\\amit_\\Desktop\\sales1.csv" file2 = "C:\\Users\\amit_\\Desktop\\sales2.csv"
3. CSV 파일 병합하기
이제 위의 두 CSV 파일을 하나로 병합합니다. map(pd.read_csv, [file1, file2])를 사용하면 파일 목록을 한 번에 읽어올 수 있고, pd.concat()이 이들을 하나의 DataFrame으로 연결합니다. ignore_index=True 옵션을 지정하면 기존 인덱스를 무시하고 0부터 시작하는 새로운 연속 인덱스가 자동으로 생성됩니다.
dataFrame = pd.concat( map(pd.read_csv, [file1, file2]), ignore_index=True)
전체 예제 코드
지금까지의 내용을 정리한 전체 코드는 다음과 같습니다.
import pandas as pd
file1 = "C:\\Users\\amit_\\Desktop\\sales1.csv"
file2 = "C:\\Users\\amit_\\Desktop\\sales2.csv"
print("Merging multiple CSV files...")
# 병합 실행
dataFrame = pd.concat(
map(pd.read_csv, [file1, file2]), ignore_index=True)
print(dataFrame)
실행 결과
위 코드를 실행하면 두 CSV 파일의 데이터가 하나의 DataFrame으로 합쳐진 것을 확인할 수 있습니다.
Car Place UnitsSold 0 Audi Bangalore 80 1 Porsche Mumbai 110 2 RollsRoyce Pune 100 3 BMW Delhi 95 4 Mercedes Hyderabad 80 5 Lamborgini Chandigarh 80
추가 팁: 파일이 많을 때는 glob 활용
병합해야 할 CSV 파일이 수십 개라면 일일이 경로를 나열하는 대신 glob 모듈을 사용하면 편리합니다. 특정 폴더 안의 모든 CSV 파일을 한 번에 불러와 병합할 수 있습니다.
import glob
files = glob.glob("C:\\Users\\amit_\\Desktop\\*.csv")
dataFrame = pd.concat(map(pd.read_csv, files), ignore_index=True)
print(dataFrame)