Python/PYTHON OpenPyXL (python and excel)

[openpyxl] 파이썬으로 엑셀 셀에 있는 내용 입력 및 파악

시키테이 2020. 5. 25. 20:37
반응형

파이썬과 엑셀을 연결해주는 강력한 라이브러리 openpyxl에 대해 알아보고자 합니다. 오늘은 기본부터 시작해봅니다.

 

우선 해당 워킹 폴더를 바꿔주고, 여기서 기존 엑셀 파일이 있으면 읽어줍니다. 여기서는 21대 총선 자료를 한 번 보도록 할까요? (강남구갑)

import openpyxl
import os

이후에 폴더 변경하고

os.getcwd()
os.chdir("/Users/xxx/Downloads/제21대 국회의원선거(재보궐 포함) 투표구별 개표결과/지역구")

그 다음에 load_workbook를 써야 합니다. 

wb=openpyxl.load_workbook("1서울/개표상황(투표구별)_강남구갑.xlsx")

sheet이 하나밖에 없는데, 맨 처음 sheet의 제목을 알아봅니다. 

  ws=wb.worksheets[0]
  ws

이후에 특정 셀에 어떤 내용이 있는지 (여기서는 A7)를 확인해봅니다. .value

ws["A7"].value

여기에 만약 새로운 값을 입력해서 대체(12)하고 싶다고 하면 아래처럼 하면 됩니다. 

ws["A7"].value=12

""를 통해 확인하기도 하지만 일반적으로는 행 열의 번호를 직접 붙여서 해주는 경우가 조금 더 정확한다고나 할까요. .cell 아래는 A1과 같은 위치이긴 합니다. 

ws.cell(row=1, column=1).value

생략도 하구요. 

ws.cell(1,1).value

A7 값을 알고 싶으면 아래처럼 하면 되겠죠. 

ws.cell(7, 1).value

 

위는 기존 파일을 바탕으로 한 건데, 아예 새로운 파일을 만들어서 똑같은 방식으로 셀에 내용을 add해주기도 합니다. 

 

각 칼럼의 번호 등을 모를 때는 openpyxl.utils.cells.import에서 column_index_from_string을 쓰면 칼럼 인덱스 번호를 알려주기도 합니다. 유용할 수 있으니 기억하세용. 이건 다음 장에서. 

반응형