goodthings4me.tistory.com
파이썬 openpyxl로 엑셀 파일에서 수 개의 워크시트 이름을 가져온 후 워크시트 내용을 출력하는 파이썬 코드를 작성해본다.
python openpyxl 활용하여 엑셀 워크시트 내용 복사해보기
특정 폴더에 엑셀 파일(강릉시.xlsx) 있고, 다음과 같이 워크시트 2개에 내용이 있을 떄
엑셀 파일을 로딩 후 워크시트 이름과 컬럼 제목을 가져온다
import os
import openpyxl
from datetime import datetime
directory = os.getcwd() + '\\excel\\' # 현재 디렉토리 + 작업 폴더 추가
print(directory)
names = os.listdir(directory) # 파일 및 폴더 전체를 리스트 형태로 반환
print(names)
print(directory + names[0])
wb = openpyxl.load_workbook(directory + names[0])
ws = wb.active
# 워크시트 이름 가져오기 - 리스트
sheetnames = wb.sheetnames
print(sheetnames) # ['남문동', '홍제동']
[실행 결과]
D:\pythonDev\excel\
['강릉시.xlsx']
D:\pythonDev\excel\강릉시.xlsx
['남문동', '홍제동']
- 지정된 폴더에 여러 엑셀 파일이 있을 경우, 반복문을 통해서 처리할 수 있다.
Worksheet 객체로 시트 내용 가져오기
for sht in sheetnames:
sheet = wb[sht]
print(sheet) # <Worksheet "OOOOO">
for row in range(0, sheet.max_row):
cols = []
for col in sheet.iter_cols(min_col=0, max_col=sheet.max_column): # col= A, B, C,...
cols.append(col[row].value)
print(cols)
# # 다른 방법
# for row in sheet.iter_rows(min_row=1, max_row=sheet.max_row, min_col=0, max_col=sheet.max_column):
# cols = []
# for cell in row:
# cols.append(cell.value)
# print(cols)
wb.close()
[실행 결과]
<Worksheet "남문동">
['법정동코드', '법정동명', '지번']
[4215010200, '강원도 강릉시 남문동', '131-1']
[4215010200, '강원도 강릉시 남문동', '131-4']
[4215010200, '강원도 강릉시 남문동', '131-5']
[4215010200, '강원도 강릉시 남문동', '131-6']
[4215010200, '강원도 강릉시 남문동', '131-12']
[4215010200, '강원도 강릉시 남문동', '132-1']
[4215010200, '강원도 강릉시 남문동', '132-3']
[4215010200, '강원도 강릉시 남문동', '132-3']
[4215010200, '강원도 강릉시 남문동', '132-4']
[4215010200, '강원도 강릉시 남문동', '133']
[4215010200, '강원도 강릉시 남문동', '134-1']
[4215010200, '강원도 강릉시 남문동', '134-2']
[4215010200, '강원도 강릉시 남문동', '134-3']
[4215010200, '강원도 강릉시 남문동', '134-4']
[4215010200, '강원도 강릉시 남문동', '135']
<Worksheet "홍제동">
['법정동코드', '법정동명', '지번']
[4215010100, '강원도 강릉시 홍제동', '1-1']
[4215010100, '강원도 강릉시 홍제동', '1-2']
[4215010100, '강원도 강릉시 홍제동', '1-3']
[4215010100, '강원도 강릉시 홍제동', '1-4']
[4215010100, '강원도 강릉시 홍제동', '1-6']
- 워크시트를 가져와서 최대 row(행)까지 column(열)의 내용을 추출하여 row 별로 cols 리스트로 추가하여 출력한다.
- 다른 워크북을 만들고 워크시트에 cols 리스트 내용을 추가할 경우, 워크북 간에 복사가 가능해진다.
'코딩 연습 > 파이썬 기초(예제)' 카테고리의 다른 글
bmi 계산하기 - 한국인의 체질량 지수 계산 [파이썬기초예제] (0) | 2022.04.20 |
---|---|
북마크 관리 프로그램 코딩, 엑셀 생성 관리 [파이썬기초(예제)] (0) | 2022.04.17 |
파이썬 반복문 - 김밥 주문 계산하기 [파이썬기초(예제)] (0) | 2022.04.15 |
[파이썬기초(예제)] 회원가입 아이디 및 비밀번호 생성, 유효성 체크 기능 (0) | 2022.04.15 |
[python] 파이썬 알고리즘 - 선택정렬(Selection Sort) (0) | 2020.09.09 |
댓글