분석하는 마케터

[CSV 다루기] Python으로 제목이 비슷한 csv 파일 합쳐주기 (feat.Pandas)

TREBOR 2021. 1. 21. 11:11

[CSV 다루기] Python으로 제목이 비슷한 csv 파일 합쳐주기 (feat.Pandas)

한 폴더 내에서, 제목의 일부가 동일한 파일을 찾아서 둘을 합쳐주는 코드.

import pandas
import os

filePath = 'C://Users//'  #폴더주소 입력(윈도우 기준)
fileAll = os.listdir(filePath)

for i in range(len(fileAll)):   # 폴더 내 파일 하나씩 검토함
    for o in range(i+1, len(fileAll)):  # 폴더 내 다른 파일과 파일명이 같은 경우가 있는지 확인함
        if fileAll[i][:-4] in fileAll[o][:-4]:
            df_i = pd.read_csv(filePath + fileAll[i])
            df_i.columns = ['공통 컬럼명 입력']  # 합쳐주려면, 공통 컬럼명을 기반으로 합쳐야되기 때문에 입력해준다.
            df_o = pd.read_csv(filePath + fileAll[o])
            df_o.columns = ['공통 컬럼명 입력']
            df = pd.concat([df_i, df_o], axis=0)
            df.to_csv(filePath + fileAll[i][:-4] + '_concated.csv', index=False)  # 합치기가 완료되면 파일명_concated.csv로 해당 폴더에 새로 파일이 저장된다.

 

 

단, 이 방법으로는 먼저 읽힌 파일제목의 일부가

이후에 읽힌 파일제목의 일부에 포함이 될 때에만 적용되는데,

이게 작동하지 않는 경우가 있는지는 잘 모르겠다 ㅜㅜ (항상 잘 작동되었음..)