이전에 VBA를 통해 시트를 통합해본 적이 있습니다.
엑셀VBA를 통해 시트를 병합해보고 싶으신 분들께서는 아래 발행글 참고 부탁드립니다.
2022.10.24 - [엑셀(Excel)] - [엑셀] 시트별 데이터 통합하기(엑셀VBA활용)
[엑셀] 시트별 데이터 통합하기(엑셀VBA활용)
오늘은 업무 자동화로 알아두시면 도움될 시트별 데이터 통합하는 방법을 안내드리겠습니다. 데이터 통합하는 방법은 정말 여러가지 방법이 있는데요 엑셀 파워쿼리, VBA가 가능하며 또 Python으
serendipity77.tistory.com
파워쿼리 및 파이썬 등 다양한 방법으로 할 수 있습니다만 오늘은 파이썬(Python)으로 엑셀 조작하는 방법에 대해 알려드리겠습니다.
취합 등의 경우, 양식의 통합이 가장 중요합니다.
통일된 양식에서 취합 자동화는 쉽지만 그렇지 않은 경우, 양식 통합을 위한 노가다는 필수 입니다.
그럼 최소한 통합된 양식이라는 가정하에 진행해보겠습니다.
오늘은 멜론 차트 데이터를 예시로 들고 왔습니다.
멜론 차트를 한번에 표로 들고오는 방법 관련해서는 이전 발행글 참고 부탁드립니다.
2022.10.18 - [파이썬(Python)] - [파이썬/크롤링] 멜론차트 Crawling, Selenium으로 동적페이지 크롤링하기
[파이썬/크롤링] 멜론차트 Crawling, Selenium으로 동적페이지 크롤링하기
엑셀 블로그를 할 때 어려운 부분 중 하나는 바로 예시 자료입니다. 예시 자료를 만들려고 생각하는 게 시간이 은근 많이 잡아 먹습니다. 그래서 앞으로 예시자료는 크롤링한 자료를 통해서 보
serendipity77.tistory.com
예시 데이터입니다.
- 시트 1의 경우 (차트 1위 ~ 50위)
- 시트 2의 경우 (차트 51위 ~ 100위)
✔︎ 시트1 : 1위 ~ 50위 데이터 입니다.
✔︎ 시트2 : 51위 ~ 100위 데이터 입니다.
지금 예시는 단 2개의 시트밖에 없기 때문에 복사 붙여넣기가 빠른 거 아냐? 라고 생각하시면 맞습니다.
자동화는 200개, 300개 되었을 때 빛을 발합니다.
✸ 최종코드(복사붙여넣기 해서 쓰세요!)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
# 라이브러리 임포트
import openpyxl
import pandas as pd
# Sheet names 불러오기
names = openpyxl.load_workbook('melon_chart_시트분리.xlsx').sheetnames
# 엑셀파일에서 데이터프레임을 읽은뒤 합치기
df = pd.DataFrame({})
for name in names:
temp_df = pd.read_excel("melon_chart_시트분리.xlsx", sheet_name=name)
temp_df['시트이름'] = name #시트이름의 날짜정보를 새로운 열로 생성
df = pd.concat([df, temp_df])
#파일로 저장
df.to_excel("melon_chart_시트병합.xlsx", index=False)
|
cs |
✳︎ 당연히 경로 및 파일명 등은 변경하셔서 쓰셔야 합니다 !
✸ 코드 설명
1
2
3
|
# 라이브러리 임포트
import openpyxl
import pandas as pd
|
cs |
pandas는 엑셀(xlsx), csv, json 등 다양한 형태의 데이터를 다룰 때 꼭 필요한 라이브러리 입니다.
openpyxl의 경우, 엑셀을 다룰 때 필요한 라이브러리 입니다.
openpyxl의 경우, 별도로 블로그에서 정리하고 있으니 참고해 주시길 바랍니다.
지속 업데이트 해나갈 예정입니다.
2022.10.02 - [파이썬(Python)] - [파이썬(Python)] 파이썬으로 엑셀 작동하기_조작방법(openpyxl)
바로 아래에 Sheet names를 불러오기 위해 openpyxl이 필요하였습니다.
for ~ in 반복문을 통해 시트를 반복해서 불러오고 저장합니다.
pd.concat() 이 데이터 병합 함수입니다.
✸ 데이터 확인
순위와 시트이름이 함께 잘 들어가있는 걸 볼 수 있습니다.
현재 미리보기를 했기 때문에 1위 ~ 5위까지 96 ~ 100위까지 나타납니다.
파워쿼리, VBA, Python 등 본인이 편하신걸로 사용하시면 됩니다.
반복업무는 자동화해서 칼퇴를 기원합니다.
'파이썬(Python)' 카테고리의 다른 글
[파이썬/Python] 영화('동감') 댓글 리뷰 워드 클라우드(wordcloud)로 만들어보기 (0) | 2022.11.20 |
---|---|
[파이썬/Python] 날짜지만 소수점인 데이터 날짜로 변경해보기(10월이 1월로 변경되지 않도록 하기) (0) | 2022.11.15 |
[파이썬/크롤링] 멜론차트 Crawling, Selenium으로 동적페이지 크롤링하기 (0) | 2022.10.18 |
[Python] 정규표현식을 통한 숫자형태 변환 replace 함수활용 (1) | 2022.10.04 |
[파이썬(Python)] 파이썬으로 엑셀 작동하기_조작방법(openpyxl) (0) | 2022.10.02 |
댓글