본문으로 건너뛰기
실습하기

엑셀 파일에 효율적으로 데이터를 입력하는 방법

이번 수업에서는 sheet.cell을 사용하여 데이터를 입력하는 방법과, 반복문을 통해 데이터 입력을 자동화하는 방법을 알아보겠습니다.


sheet.cell을 사용해 엑셀에 데이터 입력하기

엑셀 파일에 데이터를 입력하는 가장 기본적인 방법은 sheet.cell 메서드를 사용하는 것입니다.

이 메서드를 사용하면 엑셀 시트의 특정 셀에 원하는 데이터를 입력할 수 있습니다.

sheet.cell로 데이터 입력하기
from openpyxl import Workbook

# 새로운 워크북 생성
wb = Workbook()

# 활성 시트 선택
ws = wb.active

# 1행 1열에 데이터 입력
ws.cell(row=1, column=1, value="Hello, Excel")

# 파일 저장
wb.save("output_file.xlsx")

위 코드에서 rowcolumn은 각각 행(가로줄)과 열(세로줄) 번호를 나타내며, value는 해당 셀에 입력할 데이터를 의미합니다.

ws.cell(row=1, column=1, value="Hello, Excel") 코드는 1행 1열에 "Hello, Excel"이라는 데이터를 입력합니다.

row를 2, column을 3으로 변경하면 2행 3열에 데이터가 입력됩니다.


반복문을 사용해 데이터 입력 자동화하기

반복문을 사용하면 여러 행에 동일한 데이터를 입력하거나, 특정 패턴을 가진 순차적인 데이터를 입력할 때 효율적으로 작업할 수 있습니다.

반복문을 활용한 데이터 입력
from openpyxl import Workbook

# 새로운 워크북 생성
wb = Workbook()

# 활성 시트 선택
ws = wb.active

# 1행부터 10행까지
for i in range(1, 11):
# 1열에 Number 1~10 입력
ws.cell(row=i, column=1, value="No. " + str(i))

# 3열에 Hello 입력
ws.cell(row=i, column=3, value="Hello")

# 파일 저장
wb.save("output_file.xlsx")

위 코드는

  • 1열의 1행 "No. 1"부터 10행 "No. 10"까지

  • 3열에 "Hello"

데이터를 입력합니다.


엑셀 파일의 열은 알파벳 대문자로 지정할 수도 있습니다.

예를 들어 엑셀 시트의 1번째 열은 A, 2번째 열은 B, 3번째 열은 C로 지정할 수 있습니다.

알파벳 대문자 뒤에 행 번호를 지정하면 특정 셀을 지정할 수 있습니다.

이를 활용해 위 코드를 아래와 같이 변경할 수 있습니다.

알파벳 대문자로 열 지정하기
# 1행부터 10행까지
for i in range(1, 11):
# A열에 Number 1~10 입력
ws['A' + str(i)] = "No. " + str(i)

# C열에 Hello 입력
ws['C' + str(i)] = "Hello"

대문자로 특정 열을 지정할 때는 ws(시트) 객체에 대괄호를 사용하여 열을 지정합니다.

별도로 cell 메서드를 사용하지 않아도 됩니다.


append를 활용한 데이터 입력

append 메서드를 사용하면 리스트 및 튜플 형태의 데이터를 한 번에 입력할 수 있습니다.

append를 활용한 데이터 입력
from openpyxl import Workbook

# 새로운 워크북 생성
wb = Workbook()

# 활성 시트 선택
ws = wb.active

data = [
['Name', 'Age', 'City'],
['Alice', 30, 'New York'],
['Bob', 25, 'Los Angeles'],
['Charlie', 35, 'Chicago'],
]

# 반복문을 사용하여 데이터 입력
for row in data:
ws.append(row)

# 참고: 2중 반복문을 사용한 데이터 입력
# for row in data:
# for cell in row:
# ws.cell(row=data.index(row) + 1, column=row.index(cell) + 1, value=cell)

# 파일 저장
wb.save("output_file.xlsx")

위 코드는 data 2중 리스트에 있는 데이터를 엑셀 파일에 한 번에 입력합니다.

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!