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
모듈을 사용하는 방법을 알고 있습니다.