본문 바로가기
컴퓨터/Python

특정 폴더에 있는 모든 엑셀파일 한 번에 합치는 방법 (파이썬)

by 날아라키위새 2021. 7. 21.
반응형

간혹 엑셀 파일들을 합쳐야 하는 경우가 있다.

뭐 하나하나 열어서 컨트롤 C 컨트롤 V 반복하면 되는 경우도 있지만

엑셀 파일이 많아지다보면 

귀찮다.

 

처음 파이썬을 접하게 된 것도 귀찮은 반복 작업을 쉽게 해보려 했다.

물론 파이썬 깔고 뭐하고 시간은 더 걸렸다.

 

특정 폴더 안에 있는 모든 엑셀 파일 한 번에 합치는 방법

 

아래의 코드를 실행하면 

D:/test/ 폴더에 있는

모든 엑셀파일을 (확장자가 xlsx로 끝나는 파일들) 합쳐준다.

물론 단순 합치기 기능만 있기 때문에 작업 후 엑셀에서 다듬어 주거나 

파이썬 코드를 손보면 다양하게 사용 가능하다.

 

import pandas as pd
import glob


try:
    path = 'D:/test/'
    files = glob.glob(path + "*.xlsx")
    excel = pd.DataFrame()
    for file_name in files:
        df = pd.read_excel(file_name)
        excel = excel.append(df, ignore_index=True)
    print(excel)
    excel.to_excel(path+'test.xlsx')
    
except Exception as ex:
    print('error' + str(ex))

 

만약 엑셀 파일이 아니라 CSV 파일들을 작업 중이라면

pd.read_excel() 대신 pd.read_csv()로 바꿔주면 된다. 

 

혹시 에러 메시지로

"Your version of xlrd is 2.0.1. In xlrd >= 2.0, only the xls format is supported."

이런 게 뜬다면 

pip install openpyxl

 

혹은

"Missing optional dependency 'xlrd'. Install xlrd >= 1.0.0 for Excel support Use pip or conda to install xlrd."

이런게 뜬다면

pip install xlrd

 

를 실행해서 패키지를 깔아주면 해결 가능하다.

반응형

댓글