Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Pandas로 여러 개의 CSV 파일을 하나의 DataFrame으로 병합하는 방법

Pandas로 여러 CSV 파일 하나로 합치기

여러 개의 CSV 파일을 단일 Pandas DataFrame으로 병합하려면 read_csvpd.concat()을 조합하면 됩니다. 가장 먼저 필요한 Pandas 라이브러리를 임포트합니다. 이 글에서는 관례대로 pd라는 별칭(alias)을 사용합니다.

import pandas as pd

1. 예제 CSV 파일 준비

이번 예제에서는 아래 두 개의 판매 데이터 CSV 파일을 사용합니다.

Sales1.csv

Pandas로 여러 개의 CSV 파일을 하나의 DataFrame으로 병합하는 방법

Sales2.csv

Pandas로 여러 개의 CSV 파일을 하나의 DataFrame으로 병합하는 방법

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)