[Python] Workbook(), 워크북.active, 워크시트.title, 워크시트['셀 주소'], 셀 주소.value, 워크북.save()

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

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

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

오늘의 코드

1. 엑셀 파일 만들기

2. 일정 범위에 같은 값 입력하기

3. 변경된 엑셀파일 저장하기

from openpyxl import Workbook
wb = Workbook()

ws = wb.active
ws.title = "New Title"

for row in ws['A1:D4']:
    print(f"row: {row}")
    for cell in row:
        print(f"cell: {cell}")
        cell.value = "헬로우!!"

wb.save('write_ex1.xlsx')

 


Workbook()

새 엑셀 파일(워크북)을 생성

기본적으로 하나의 시트가 포함되어 있음

 


워크북.active

현재 워크북에서 활성화된 시트를 반환

새로 생성한 워크북은 기본적으로 하나의 시트를 가지고 있으므로 이 기본 시트가 활성화된 상태

워크북에 여러 시트가 존재한다면 사용자가 마지막으로 선택한 시트를 반환

 


워크시트.title

워크시트의 이름을 나타내는 속성

기본적으로 새로 생성된 시트는 Sheet라는 이름을 가짐

워크시트.title = "새로운 이름" 형태로 이름을 변경할 수 있음

 


워크시트['셀 주소']

워크시트 내에서 특정 셀을 참조하거나 값을 읽고 쓸 때 사용

셀 주소는 엑셀에서 사용하는 방식과 동일. A1, B2, C5 등

 


셀 주소.value

셀의 값을 참조하거나 수정할 때 사용

 


워크북.save()

워크북을 저장하는 메서드

현재 작업 중인 워크북을 지정한 파일 이름으로 저장

파일 이름에 확장자 .xlsx를 사용해야 함

워크북.save('파일명.xlsx') 형태로 사용

 

 


오늘의 코드

1. 엑셀 파일 만들기

2. 일정 범위에 같은 값 입력하기

3. 변경된 엑셀파일 저장하기

from openpyxl import Workbook
wb = Workbook()

ws = wb.active
ws.title = "New Title"

for row in ws['A1:D4']:
    print(f"row: {row}")
    for cell in row:
        print(f"cell: {cell}")
        cell.value = "헬로우!!"

wb.save('write_ex1.xlsx')

오늘의 코드 결과

오늘의 코드 설명

1. 엑셀 파일 만들기

from openpyxl import Workbook

openpyxl 라이브러리에서 Workbook 클래스를 가져옴

엑셀 파일을 생성하고 수정할 수 있음

wb = Workbook()

새로운 빈 워크북을 wb에 저장

ws = wb.active

빈 워크북 wb에서 활성화된(현재 선택된) 시트를 ws에 저장

ws.title = "New Title"

시트 ws의 이름을 New Title로 변경

2. 일정 범위에 같은 값 입력하기

for row in ws['A1:D4']:

row는 시트 ws의 A1부터 D4까지의 셀들을 반복

    >row=(<Cell 'New Title' .A1>, <Cell 'New Title' .B1>, <Cell 'New Title' .C1>, <Cell 'New Title' .D1>)

cell.value = "헬로우!!"

cell 값으로 "헬로우!!"를 저장

3. 변경된 엑셀파일 저장하기

wb.save('write_ex1.xlsx')

'write_ex1.xlsx'으로 워크북 wb 저장