가이드라인

파이썬 코드로 셀의 값을 변경하는 방법

이번 수업에서는 openpyxl을 활용해 다양한 방식으로 셀 값을 수정하고, 셀 서식을 변경하는 방법을 알아보겠습니다.


시트 내 특정 셀의 값을 수정하는 방법

셀의 값을 수정할 때는 새로운 입력값을 할당하면 됩니다.

예를 들어, B1 셀의 값을 100으로 변경하려면 다음과 같이 하면 됩니다.

B1셀의 값을 수정하기
ws['B1'] = 100

또는 이전 수업에서 소개한 cell 메서드를 활용해 ws.cell(row=행번호, column=열번호)를 사용할 수 있습니다.


특정 패턴에 따라 여러 셀 한 번에 수정하기

여러 셀에 특정 패턴에 따라 데이터를 입력해야 하는 경우, 아래와 같이 반복문을 활용할 수 있습니다.

여러 셀 한 번에 수정하기
# B열에 1부터 10까지의 값 입력 for i in range(1, 11): ws[f'B{i}'] = str(i * 100) + 'km'

이 예시에서는 B1부터 B10까지의 셀에 100부터 1000까지의 값과 'km'을 붙여 입력합니다.


또는 아래와 같이 1번째 행의 1열부터 10열까지의 셀에 1부터 10까지의 값을 입력할 수도 있습니다.

여러 셀 한 번에 수정하기
# 1행에 1부터 10까지의 값 입력 for i in range(1, 11): ws.cell(row=1, column=i, value=str(i) + "번째")

이를 응용하면 행과 열 모두에 패턴화된 데이터를 자동으로 입력할 수 있습니다.

여러 셀 한 번에 수정하기
# 2중 for 반복문으로 1부터 100까지 입력 (5열x20행) for i in range(1, 21): for j in range(1, 6): ws.cell(row=i, column=j, value=(i - 1) * 5 + j)

조건에 따라 셀 데이터 수정하기

조건문을 활용하면 특정 조건에 따라 셀 데이터를 수정할 수 있습니다.

아래 코드는 값이 5보다 큰 셀의 값을 'Large'로 변경하고, 그렇지 않은 경우 'Small'로 변경합니다.

조건에 따라 셀 데이터 수정하기
# 값이 5보다 큰 셀의 값을 'Large'로 변경 for i in range(1, 11): if ws[f'B{i}'].value > 5: ws[f'B{i}'] = 'Large' else: ws[f'B{i}'] = 'Small' # 수정된 내용 저장 wb.save('output_file.xlsx')
Mission
0 / 1

openpyxl을 사용해 Excel 파일을 수정할 때, 특정 조건에 따라 셀 데이터를 변경하는 것은 불가능하다.

O
X

가이드라인

AI 튜터

배포

디자인

업로드

수업 노트

즐겨찾기

도움말

코드 에디터

코드 실행
코드 생성

실행 결과

결과물

문서가 비어 있습니다.

코드를 실행해보세요.