Worksheet.values 프라퍼티로 셀의 값 얻기
하나의 워크시트 내에서 모든 셀들의 값을 얻고자 한다면, Worksheet 클래스의 values 프라퍼티를 사용한다.
values :
Produces all cell values in the worksheet
엑셀 파일에서 셀의 값이 아래와 같이 입력되어 있는 경우,
Worksheet 클래스의 values 프라퍼티를 사용해 모든 셀의 값을 확인하는 코드의 예는 아래와 같다.
# openpyxl 3.0.7
from openpyxl import load_workbook
from openpyxl import Workbook
workbook = load_workbook('sample.xlsx')
worksheet = workbook.active
print('max_row = ', worksheet.max_row)
print('max_col = ', worksheet.max_column)
print()
for row_values in worksheet.values:
print(row_values)
Worksheet 클래스의 values 프라퍼티는 행을 기준으로 셀의 값을 튜플로 반환한다.
Worksheet.iter_rows 및 Worksheet.iter_cols 메서드
Worksheet 클래스의 values 프라퍼티 외에 Worksheet 클래스의 iter_rows 메서드 또는 iter_cols 메서드로도 정의한 영역의 셀 값을 가져올 수 있다. 이때 iter_rows 또는 iter_cols 메서드 호출 시 키워드 values_only는 Ture로 설정한다.
# openpyxl 3.0.7
from openpyxl import load_workbook
from openpyxl import Workbook
workbook = load_workbook('sample.xlsx')
worksheet = workbook.active
print('max_row = ', worksheet.max_row)
print('max_col = ', worksheet.max_column)
print()
for row_values in worksheet.iter_rows(min_row=1,
max_row=worksheet.max_row,
min_col=1,
max_col=worksheet.max_column,
values_only=True):
print(row_values)
print()
for col_values in worksheet.iter_cols(min_col=1,
max_col=worksheet.max_column,
min_row=1,
max_row=worksheet.max_row,
values_only=True):
print(col_values)