Python/openpyxl

파이썬을 활용한 원하는 위치의 엑셀 데이터 출력하기

찐남 2022. 7. 9. 20:58

이번 포스팅에서는

파이썬을 활용해서 엑셀 파일을

불러오고,

 

원하는 위치에 있는 엑셀 데이터를

출력해 보는 방법에 대해서

알아보겠습니다.

 

실습을 하기 위해서

지난번에 생성했던 엑셀 파일을

이용하겠습니다. 

 

아래 포스팅 글을 참고하여

먼저 생성하셔야 합니다.

https://zzinnam.tistory.com/entry/%ED%8C%8C%EC%9D%B4%EC%8D%AC%EC%9D%84-%ED%99%9C%EC%9A%A9%ED%95%9C-%EC%97%91%EC%85%80-%EC%8B%9C%ED%8A%B8%EC%97%90-%EA%B0%92-%EC%9E%85%EB%A0%A5%ED%95%98%EA%B8%B0

 

 

엑셀 파일 불러오기

import openpyxl as xls

# 엑셀 파일 불러오기 
wb = xls.load_workbook("C:/RPA/excel_test5.xlsx")

# 활성화된 시트 가져오기
ws = wb.active

위의 코드를 입력하면,

wb 개체에는 엑셀 workbook이 

들어와 있고,

sw 개체에는 엑셀 sheet가 

들어와 있습니다.

 

이제 원하는 위치에 있는 

엑셀 데이터를 출력해 보겠습니다.

 

원하는 위치의 엑셀 데이터 출력하기 1

엑셀의 셀 A20 부터 J30 셀에 있는

데이터를 출력해 보겠습니다.

# 엑셀의 셀 A20 부터 J30 셀에 있는 데이터 출력하기
for i in range(20, 30 + 1):
    for j in range(1, 10 + 1):
        print(ws.cell(row = i, column = j).value, end = " ")
    print()

 

만약, 데이터의 시작이

A20 셀에서 시작된다는

사실만 알고, 

끝 지점이 어디인지 모른다면,

어떻게 작성해야 할까요?

max_row 매소드와 

max_column 매소드를 

이용하면 됩니다.

 

원하는 위치의 엑셀 데이터 출력하기 2 

# max_row와 max_column 매소드 이용하기
for i in range(20, ws.max_row + 1):
    for j in range(1, ws.max_column + 1):
        print(ws.cell(row = i, column = j).value, end = " ")
    print()

 

 

반응형