TIL #5 : openpyxl

6246 단어 pythonpython

파이썬에서는 openpyxl를 설치하여 엑셀을 다룰 수 있다.

👏 openpyxl 설치

pip install openpyxl1


📝 워크북 생성

워크북 = 엑셀 파일
워크북은 하나 이상의 워크시트로 구성 됨

  • Workbook() : 워크북 생성 ➜ 워크북 안, 하나의 워크시트 자동 생성
  • .active() : 현재 활성화 되어있는 워크시트 선택
import openpyxl

wb = openpyxl.Workbook()
ws = wb.active

📝 워크시트 생성

  • .create_sheet(‘시트명’, n) : 새로운 워크시트 생성
    • n : 시트를 생성할 위치
wb = openpyxl.Workbook()
new_ws = wb.create_sheet('시트명')

📝 기존 엑셀 파일 불러오기

  • load_workbook(‘열고자 하는 파일명’) : 모든 엑셀의 내용을 한 번에 가져옴
from openpyxl import load_workbook

wb = load_workbook('파일명')
ws = wb.active

load_workbook() 는 엑셀 파일이 매우 큰 경우 못 가져오는 경우가 발생할 수 있고 한번에 가져오는 과정이 매우 느리다.😧

🌈 read_only=True 라는 인자 값 추가
➜ 읽기 전용 파일이 되고 내용을 한번에 다 가져오지 않아 엑셀 파일이 매우 큰 경우에도 문제가 생기지 않는다.

BUT ❗ 읽기 전용으로 데이터를 가져오는 경우
: 특정한 열을 지정해서 데이터 활용할 수 없고, .iter_rows()를 이용하여 한 행씩 데이터를 가져와 활용해야 한다.


📝 엑셀 파일 데이터 활용

💡 셀에 접근하기

  • 셀 주소 이용
ws['A1'] 
ws['A1:B2']
  • 셀 좌표 이용
ws.cell(row = x, column = y)
ws.cell(x, y)

💡 데이터 읽기

  • .value : 셀에 저장된 값을 가져옴
print(ws['A1'])[결과값] : <Cell 'Sheet1'.A1>
print(ws['A1'].value)[결과값] : 셀 A1에 저장된 데이터 값

💡 데이터 쓰기

  • 특정 셀에 데이터 입력
ws.['A1'] = '데이터'
ws.cell(x, y, '데이터')
  • 행 단위로 데이터 입력
    • .append() : 시트의 마지막 행에 새로운 행 추가
ws.append([1, 2, 3])
ws.append(['A', 'B', 'C'])

📝 파일 저장 후 닫기

  • .save(‘파일명’) : 파일명으로 워크북 저장
  • .close() :
wb.save('파일명')
wb.close()

좋은 웹페이지 즐겨찾기