
▶ 셀 범위 지정으로 셀 값 읽고 쓰기 4 - Worksheet.iter_rows 메서드
셀의 범위를 지정할 때 행과 열 번호를 기준으로 해당되는 모든 셀을 얻을 수 있다.
행과 열 번호를 기준으로 셀의 범위를 지정하고자 한다면 Worksheet 클래스의 iter_rows 메서드를 사용하면 된다.
엑셀에서 열과 행은 숫자 1부터 시작한다.
iter_rows(min_row=None, max_row=None, min_col=None, max_col=None, values_only=False)
새로운 엑셀 파일을 생성한 후 행 2 ~ 4, 열 2 ~ 4에 해당하는 셀, 즉 셀 B2 ~ D4에 정수를 차례대로 입력하는 코드를 작성한 후 실행해 보면,
# python 3.9.5
# openpyxl 3.0.7
from openpyxl import Workbook
workbook = Workbook()
worksheet = workbook.active
count = 1
for rows in worksheet.iter_rows(min_row=2, max_row=4, min_col=2, max_col=4):
print(type(rows))
for cell in rows:
cell.value = count
count += 1
workbook.save('sample_iter_rows.xlsx')
아래의 결과와 같이 행(가로)을 기준으로 정수의 값이 입력됨을 알 수 있다.

Worksheet 클래스의 iter_rows 메서드는 행의 개수 만큼 튜플을 반환한다.
위의 코드에서 행은 2 ~ 4로 지정했기 때문에 아래의 그림과 같이 3개의 튜플이 반환되었으며,

반환된 튜플에는 행(가로)을 기준으로 열 2 ~ 4에 해당되는 셀 객체가 저장되어 있다.

Worksheet 클래스의 iter_rows 메서드를 사용할 때 하나의 셀 지정도 가능하다.
# python 3.9.5
# openpyxl 3.0.7
from openpyxl import Workbook
workbook = Workbook()
worksheet = workbook.active
count = 1
for rows in worksheet.iter_rows(1, 1, 1, 1):
print(type(rows))
print(rows)
하나의 셀을 지정하면, 하나의 튜플이 반환된다.
