Python에서 CSV 파일 병합

Samreena Aslam 2023년1월30일
  1. 이름으로 병합을 사용하여 단일 Pandas DataFrame에서 여러 CSV 파일 결합
  2. 모든 필드를 병합하여 단일 Pandas DataFrame에서 여러 CSV 파일 병합
  3. 결론
Python에서 CSV 파일 병합

Pandas DataFrame에서 .csv 파일 형식의 대규모 데이터 세트로 작업하는 동안 단일 파일에 데이터 분석을 위한 완전한 정보가 포함되지 않을 수 있습니다. 이 경우 단일 팬더 DataFrame에 여러 파일을 병합해야 합니다. Python pandas 라이브러리는 concat, merge, join과 같이 이 문제를 해결하기 위한 다양한 방법을 제공합니다.

이 가이드에서는 여러 .csv 파일을 다른 예제를 통해 단일 Pandas DataFrame으로 병합하는 두 가지 방법을 배웁니다.

이름으로 병합을 사용하여 단일 Pandas DataFrame에서 여러 CSV 파일 결합

여러 .csv 파일을 병합하려면 먼저 pandas 라이브러리를 가져오고 파일 경로를 설정합니다. 그런 다음 pd.read_csv() 메서드를 사용하여 모든 CSV 파일을 읽습니다. pd.concat()은 매핑된 CSV 파일을 인수로 가져온 다음 기본적으로 행 축을 따라 병합합니다. ignore_index=True 인수는 새로 병합된 DataFrame에 대한 연속 인덱스 값을 설정하는 데 사용됩니다.

pandas Python을 사용하여 위에서 언급한 접근 방식을 구현한 다음 예를 참조하세요.

예제 코드:

import pandas as pd

# set files path
sales1 = "C:\\Users\\DELL\\OneDrive\\Desktop\\salesdata1.csv"
sales2 = "C:\\Users\DELL\\OneDrive\\Desktop\\salesdata2.csv"

print("*** Merging multiple csv files into a single pandas dataframe ***")

# merge files
dataFrame = pd.concat(map(pd.read_csv, [sales1, sales2]), ignore_index=True)
print(dataFrame)

출력:

*** Merging multiple csv files into a single pandas dataframe ***
    Product_Name  Quantity Sale_Price
0    Acer laptop         3       500$
1    Dell Laptop         6       700$
2      Hp laptop         8       800$
3  Lenavo laptop         2       600$
4    Acer laptop         3       500$
5    Dell Laptop         6       700$
6      Hp laptop         8       800$
7  Lenavo laptop         2       600$

모든 필드를 병합하여 단일 Pandas DataFrame에서 여러 CSV 파일 병합

pandas DataFrame의 모든 .csv 파일을 병합하기 위해 이 접근 방식에서 glob 모듈을 사용했습니다. 먼저 모든 라이브러리를 가져와야 했습니다. 그런 다음 병합해야 하는 모든 파일의 경로를 설정합니다.

다음 예에서 os.path.join()은 파일 경로를 첫 번째 인수로 사용하고 경로 구성 요소 또는 조인할 .csv 파일을 두 번째 인수로 사용합니다. 여기에서 salesdata*.csv는 지정된 홈 디렉토리에서 *salesdata*로 시작하고 .csv 확장자로 끝나는 모든 파일과 일치하여 반환합니다. glob.glob(files_joined)는 병합된 파일 이름의 인수를 취하고 모든 병합 파일 목록을 반환합니다.

glob 모듈을 사용하여 모든 .csv 파일을 병합하려면 다음 예를 참조하세요.

예제 코드:

import pandas as pd
import glob
import os

# merging the files
files_joined = os.path.join(
    "C:\\Users\\DELL\\OneDrive\\Desktop\\CSV_files", "salesdata*.csv"
)

# Return a list of all joined files
list_files = glob.glob(files_joined)

print("** Merging multiple csv files into a single pandas dataframe **")
# Merge files by joining all files
dataframe = pd.concat(map(pd.read_csv, list_files), ignore_index=True)
print(dataframe)

출력:

** Merging multiple csv files into a single pandas dataframe **
    Product_Name  Quantity Sale_Price
0    Acer laptop         3       500$
1    Dell Laptop         6       700$
2      Hp laptop         8       800$
3  Lenavo laptop         2       600$
4    Acer laptop         3       500$
5    Dell Laptop         6       700$
6      Hp laptop         8       800$
7  Lenavo laptop         2       600$

결론

이 자습서에서는 pandas python에서 여러 CSV 파일을 병합하는 두 가지 접근 방식을 소개했습니다. 우리는 pd.concat() 메소드를 사용하여 .csv 파일을 읽고 단일 Pandas DataFrame으로 병합하는 방법을 보았습니다. 게다가, 우리는 이제 Pandas python 코드에서 glob 모듈을 사용하는 방법을 알고 있습니다.

관련 문장 - Python CSV