반응형
예전에 포스팅했던 글과 비슷하지만
(참고: 특정 폴더에 있는 모든 엑셀파일 한 번에 합치는 방법)
이전 글이 엑셀파일에 들어있는 모든 내용을 그냥 합친 거라면
이 방법은 특정 행 과열만 쭈욱 합쳐주는 방법이다.
폴더에 있는 모든 엑셀 파일 특정 행열 한 번에 합치는 방법
아래의 코드를 실행하면
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
를 실행해서 패키지를 깔아주면 해결 가능하다.
반응형
'컴퓨터 > Python' 카테고리의 다른 글
파이썬으로 주식 현재가 알려주는 슬랙 (slack) 채팅 봇 만들기 (0) | 2021.08.20 |
---|---|
특정 폴더에 있는 모든 엑셀파일 한 번에 합치는 방법 (파이썬) (4) | 2021.07.21 |
파이썬으로 히스토그램 그리기 (0) | 2021.06.28 |
파이썬으로 박스플롯 (box plot - 상자그림) 그리기 (0) | 2021.06.27 |
파이썬 (Python) 리스트에서 리스트 더하기 빼기 (0) | 2021.06.25 |
댓글