[Python] load_workbook() - 수식 포함, 미포함

공부한 내용 정리하는 공간입니다.

틀린 내용이 있을 수 있습니다.

모든 지적, 첨언 환영합니다.

오늘의 코드

1. 기존에 있는 엑셀파일을 읽기

2. 특정 셀의 값 출력하기

3. 특정 셀의 값 출력하기-수식 포함

4. 특정 셀의 값 출력하기-수식 미포함

from openpyxl import load_workbook

wb = load_workbook(filename='excel_data.xlsx')

ws = wb['Sheet1']

cell_value = ws['B2'].value
print("The value in cell D18 is:", cell_value)

print("-"*10)

book = load_workbook("excel_data2.xlsx")
sheet = book.active

for row in sheet["A1":"E7"]:
    result = []
    for cell in row:
        result.append(cell.value)
    print(result)

print("-"*10)
    
book = load_workbook("excel_data2.xlsx", data_only=True)
sheet = book.active
for row in sheet["A1":"E7"]:
    result = []
    for cell in row:
        result.append(cell.value)
    print(result)

 


load_workbook(filename='파일이름.xlsx')

기존의 엑셀 파일을 열기 위한 명령

워크북 객체를 반환

파일이 현재 작업 디렉터리에 있지 않다면 전체 경로를 지정해야 함

load_workbook(filename='파일이름.xlsx', data_only=True)로 사용하면 수식을 읽지 않고 계산된 값을 반환

 


오늘의 코드

1. 기존에 있는 엑셀파일을 읽기

2. 특정 셀의 값 출력하기

3. 특정 셀의 값 출력하기-수식 포함

4. 특정 셀의 값 출력하기-수식 미포함

from openpyxl import load_workbook

wb = load_workbook(filename='excel_data.xlsx')

ws = wb['Sheet1']

cell_value = ws['B2'].value
print("The value in cell D18 is:", cell_value)

print("-"*10)

book = load_workbook("excel_data2.xlsx")
sheet = book.active

for row in sheet["A1":"E7"]:
    result = []
    for cell in row:
        result.append(cell.value)
    print(result)

print("-"*10)
    
book = load_workbook("excel_data2.xlsx", data_only=True)
sheet = book.active
for row in sheet["A1":"E7"]:
    result = []
    for cell in row:
        result.append(cell.value)
    print(result)

 

오늘의 코드 결과

오늘의 코드 설명

1. 기존에 있는 엑셀파일을 읽기

wb = load_workbook(filename='excel_data.xlsx')

excel_data.xlsx 이라는 이름의 파일을 열어서 wb에 저장

ws = wb['Sheet1']

wb에서 이름이 Sheet1인 시트를 ws에 저장

2. 특정 셀의 값 출력하기

cell_value = ws['B2'].value

ws에서 B2의 값을 cell_value에 저장

    >cell_value=56

3. 특정 셀의 값 출력하기-수식 포함

book = load_workbook("excel_data2.xlsx")

excel_data2.xlsx 이라는 이름의 파일을 열어서 book에 저장

sheet = book.active

excel_data2.xlsx에서 활성화 된 시트를 sheet에 저장

for row in sheet["A1":"E7"]:

row는 excel_data2.xlsx의 활성화 된 시트의 A1부터 E7까지의 셀들을 반복

row는 셀의 정보가 저장됨

result.append(cell.value)

cell의 값을 리스트 result에 저장

result에 시트의 한 행씩 저장됨

셀에 수식이 적용되어 있으면 수식이 그대로 저장됨

4. 특정 셀의 값 출력하기-수식 미포함

book = load_workbook("excel_data2.xlsx", data_only=True)

excel_data2.xlsx 이라는 이름의 파일을 열어서 수식이 아닌 계산된 값만 book에 저장