본문 바로가기

코딩/파이썬과 엑셀

openpyxl로 엑셀 다루기 015. Worksheet.values 프라퍼티로 셀의 값 얻기

python : openpyxl : worksheet.values

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.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)

 

worksheet.iter_rows & worksheet.iter_cols