본문 바로가기
Python

파이썬 openpyxl 사용법

by 헬로제이콥 2025. 5. 19.

 

와! 파이썬으로 엑셀을 다루는 건 정말 멋진 일이에요! openpyxl 사용법을 재미있는 이야기처럼 설명해주고, 간단한 실습 예제도 만들어 줄게요! 😊

얘들아, 안녕! 엑셀 마법사 파이썬 등장! 🧙‍♂️✨

우리가 컴퓨터에서 표를 만들거나 숙제 목록을 정리할 때 '엑셀'이라는 프로그램을 많이 쓰죠? 파이썬이라는 멋진 컴퓨터 언어에 openpyxl(오픈파이엑셀이라고 읽어요!)이라는 마법 도구를 연결하면, 파이썬이 직접 엑셀 파일을 만들고, 글씨도 쓰고, 그림도 그릴 수 있는 엑셀 마법사가 된답니다!

openpyxl 마법 도구는 왜 필요할까요?

  •  자동으로 표 만들기: 친구들 이름과 생일 목록을 100명이나 적어야 한다면 손으로 하긴 힘들겠죠? 파이썬 마법사에게 시키면 순식간에 뚝딱!
  •  숙제 관리: 오늘 할 숙제, 내일 할 숙제를 엑셀에 자동으로 착착 정리해줄 수 있어요.
  •  게임 점수 기록: 내가 만든 게임의 점수를 엑셀 파일에 자동으로 저장할 수도 있답니다.

준비물 챙기기! 🎒

  1. 파이썬 마법봉: 컴퓨터에 파이썬이 설치되어 있어야 해요. (아마 학교나 집 컴퓨터에 이미 있을 거예요!)
  2. openpyxl 마법 주문서: 파이썬에게 openpyxl 마법 도구를 알려줘야 해요. 어른들께 "터미널이나 명령 프롬프트에서 pip install openpyxl이라고 입력해주세요!" 하고 부탁드리면 설치해주실 거예요.

엑셀 마법 사용법! 얍! ✨

자, 이제 파이썬 마법사와 함께 엑셀 파일을 만들어볼까요?

  1. "엑셀 마법 도구 나와라, 얍!" (라이브러리 가져오기)
    •   마법을 쓰려면 먼저 어떤 마법 도구를 쓸 건지 파이썬에게 알려줘야 해요.
    •   코드: from openpyxl import Workbook
  2. "새로운 엑셀 공책아, 생겨라!" (새로운 엑셀 파일 만들기)
    •   마치 하얀 새 공책을 하나 꺼내는 것과 같아요.
    •   코드: 새로운_엑셀공책 = Workbook()
  3. "어떤 페이지에 쓸까?" (작업할 시트 선택하기)
    •   엑셀 공책에는 여러 페이지(시트)가 있어요. 우리가 글씨를 쓸 페이지를 골라야 해요. 보통 첫 번째 페이지를 바로 쓴답니다.
    •   코드: 글씨_쓸_페이지 = 새로운_엑셀공책.active
  4. "마법 연필로 글씨 쓰기!" (셀에 데이터 입력하기)
    •   엑셀의 네모 한 칸 한 칸을 '셀'이라고 불러요.
    •   A1은 첫 번째 줄(1)의 첫 번째 칸(A)을 뜻해요.
    •   코드:
      •   글씨_쓸_페이지['A1'] = '안녕, 엑셀!' (A1 칸에 "안녕, 엑셀!"이라고 써요)
      •   글씨_쓸_페이지['B2'] = '나는 파이썬 마법사!' (B2 칸에 "나는 파이썬 마법사!"라고 써요)
      •   한 줄을 통째로 쓸 수도 있어요: 글씨_쓸_페이지.append(['과일', '개수', '가격']) (이렇게 하면 다음 빈 줄에 '과일', '개수', '가격'이 차례대로 들어가요)
  5. "마법 공책아, 저장되어라!" (엑셀 파일 저장하기)
    •   열심히 쓴 내용을 컴퓨터에 잘 보관해야겠죠? 파일 이름도 정해줘야 해요.
    •   코드: 새로운_엑셀공책.save("나의첫엑셀파일.xlsx") (이렇게 하면 "나의첫엑셀파일.xlsx"라는 이름으로 엑셀 파일이 저장돼요!)

✨ 쉬운 실습 예제: "나의 동물 농장 만들기" ✨

자, 이제 직접 파이썬 코드를 써서 "나의 동물 농장" 목록을 엑셀 파일로 만들어 볼까요?

Python
 
# 1. 엑셀 마법 도구 나와라, 얍!
from openpyxl import Workbook

# 2. 새로운 엑셀 공책아, 생겨라!
동물농장_엑셀 = Workbook()

# 3. 어떤 페이지에 쓸까?
농장_페이지 = 동물농장_엑셀.active

# 페이지 이름도 바꿔볼까요? (선택 사항)
농장_페이지.title = "꿈의 동물 농장"

# 4. 마법 연필로 글씨 쓰기!

# 제목을 써줄 거예요. A열 1번 칸에!
농장_페이지['A1'] = "나의 꿈의 동물 농장 친구들"

# 동물 친구들 목록을 한 줄씩 추가해볼게요.
# append를 쓰면 자동으로 다음 빈 줄에 내용이 들어가요.
농장_페이지.append(["동물 이름", "몇 마리?", "좋아하는 음식"]) # 표의 제목 줄
농장_페이지.append(["강아지", 3, "뼈다귀"])
농장_페이지.append(["고양이", 5, "참치캔"])
농장_페이지.append(["토끼", 10, "당근"])
농장_페이지.append(["병아리", 20, "모이"])

# B6 칸에 특별한 친구도 적어볼까요?
농장_페이지['B6'] = "공룡도 한 마리 키우고 싶어요!"

# 5. 마법 공책아, 저장되어라!
동물농장_엑셀.save("나의동물농장.xlsx")

# 컴퓨터에게 잘 저장했다고 알려달라고 해요!
print("와! '나의동물농장.xlsx' 파일이 만들어졌어요! 폴더에서 확인해보세요! 🥳")

이 코드를 실행하면 어떻게 될까요?

  1. 파이썬이 openpyxl 마법 도구를 사용해요.
  2. "나의동물농장.xlsx"라는 이름의 새 엑셀 파일이 컴퓨터에 만들어져요.
  3. 엑셀 파일을 열어보면, "꿈의 동물 농장"이라는 이름의 시트(페이지)가 있고, 그 안에 우리가 적은 동물 농장 친구들 목록이 예쁘게 표로 만들어져 있을 거예요! A1 칸에는 "나의 꿈의 동물 농장 친구들"이라는 제목도 보일 거고요. B6 칸에는 "공룡도 한 마리 키우고 싶어요!"라는 글씨도 있을 거예요.

이제 여러분도 파이썬 엑셀 마법사!

어때요? openpyxl 마법 도구를 사용하니까 파이썬으로 엑셀 파일을 만드는 게 별로 어렵지 않죠? 이제 여러분도 원하는 내용을 엑셀 파일에 마음껏 쓰고 저장할 수 있는 꼬마 엑셀 마법사가 되었어요! 축하해요! 🎉

 




from openpyxl import Workbook:

  •   이건 "openpyxl 이라는 상자 안에서 Workbook라는 물건만 꺼내서 바로 쓸게!" 라는 뜻이에요.
  •   그래서 나중에 Workbook()처럼 이름만 불러서 쓸 수 있어요.

 

import Workbook:

  •   이건 "Workbook이라는 이름의 상자 전체를 가져올게!" 라는 뜻이에요.
  •   하지만 openpyxl에서 Workbook는 상자가 아니라 상자 안에 있는 물건이라서, 이렇게만 하면 못 찾아요. 보통 오류가 나죠.

 

요약:

  •   from ... import ...: 특정 물건만 골라서 바로 쓴다.
  •   import ...: 이름이 똑같은 상자 전체를 가져온다.

openpyxl의 Workbook를 쓸 때는 1번(from openpyxl import Workbook)처럼 쓰는 게 맞아요.