엑셀 파일(xlsx, xlsm, xltx, xltm 파일)을 읽고 쓰는데 사용되는 파이썬 라이브러리다.
이 모듈을 사용하면 파이썬 프로그램이 스프레드 시트를 읽고 수정할 수 있게 도와준다.
pip install openpyxl
설치가 잘 됐는지 확인하려면 pip list
를 이용해서 받아진 라이브러리를 확인할 수 있다.
import openpyxl
# 워크북을 생성하면 그 안에 워크시트 1개가 자동으로 생성
wb = Workbook()
# 엑셀 파일 저장할 위치 작성
file_path = "c://[저장 경로]"
# 현재 활성화 되어있는 시트를 가리킴
ws = wb.active
# 지정된 경로에 엑셀 파일 저장
wb.save(file_path)
import openpyxl
# 기존 엑셀 파일 불러오기
wb = openpyxl.load_workbook(filename='file_name.xlsx')
import openpyxl
# 새로운 시트를 만들고, 0번째(맨 왼쪽)에 위치 시키기
wb.create_sheet('새로운 시트 이름', 0)
# Sheet2를 가리킴
ws = wb['Sheet2']
# 현재 활성화 된 시트의 A1셀 접근
print(ws['A1'])
# A1 셀의 내용 확인
print(ws['A1'].value)
#또 다른 셀 접근방법, 세로 1번째 가로 7번째 셀을 의미
ws.cell(row = 1, column = 7)
# 여러 개의 셀 접근
# A열의 모든 셀 가져옴
print(ws['A'])
처음 openpyxl을 사용해서 새로운 엑셀 파일을 생성하고, 그 안에 데이터를 입력하려고 하는데
Worksheet {0} does not exist
이라는 오류가 났다.
알고 보니까 엑셀에 기본적으로 존재하는 시트를 사용할 때는 활성화 되어 있는 시트를 active 해줘야 했다.
import openpyxl
wb = openpyxl.Workbook()
file_path = 'c://practice/test.xlsx'
wb['A1'].value = 'name'
wb['B1'].value = 'surname'
wb['C1'].value = 'email'
wb['D1'].value = 'password'
wb.save(file_path)
wb = openpyxl.Workbook()
file_path = 'c://practice/test.xlsx'
ws = wb.active
ws['A1'].value = 'name'
ws['B1'].value = 'surname'
ws['C1'].value = 'email'
ws['D1'].value = 'password'
wb.save(new_file)