본문 바로가기
컴퓨터/Python

파이썬으로 폴더에 있는 모든 엑셀파일 특정 행열 한 번에 합치는 방법

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

예전에 포스팅했던 글과 비슷하지만

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

이전 글이 엑셀파일에 들어있는 모든 내용을 그냥 합친 거라면

이 방법은 특정 행 과열만 쭈욱 합쳐주는 방법이다. 

 

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

 

아래의 코드를 실행하면
D:/test/ 폴더에 있는
모든 엑셀 파일을 (확장자가 xlsx로 끝나는 파일들) 하나씩 체크하고
skiprows에 해당하는 행을 제외하고 nrow만큼
그리고 usecol에 해당하는 열에 있는 셀들을
하나의 파일로 합쳐준다. 

 

즉, 123행부터 2개의 행 - 124행과 125행의 A와 AE열에 포함되는 셀들을 합쳐준다.

 

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,
                           sheet_name="Sheet1",
                           skiprows=range(1, 123),
                           nrows=2,
                           usecols="A:AE")
        excel = excel.append(df, ignore_index=True)
    print(excel)
    excel.to_excel(path + 'merged.xlsx')
except Exception as ex:
    print('error' + str(ex))

 

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

pd.read_excel() 대신 pd.read_csv()로 바꿔주면 된다. 
마찬가지로 excel.to_excel()도 excel.to_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

 

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

반응형

댓글