Python/PythonLibrary
openpyxl 라이브러리 간단 정리 (엑셀다루기)
leehii
2022. 8. 25. 16:25

import openpyxl as op
: 환경도구 불러오기
wb = op.Workbook()
:객체생성
wb = op.load_workbook(경로+'/파일명')
: 엑셀파일 불러오기
(xls 파일 지원안함. xlrd 사용필요 xlrd.open_workbook )
이때 경로에 / 가 아닌 \를 쓰게 될 경우
r '경로' 로 유니코드 오류가 뜨지않게 해주는것을 유의
wb.save('경로+파일명')
: 엑셀파일 저장
마찬가지고 \ 일경우 r을 붙여 유니코드 오류뜨지않게 하기
wb.sheetnames
: 불러온 엑셀파일의 Sheet 확인하기 > 이를 통해 WorkSheet를 다룰수 있음
ws = wb.active
: 활성화된 Sheet를 가르킴
ws = wb.create_sheet('생성할 Sheet 명')
: Sheet를 생성하는 방법 / 이후 wb.save()로 저장해줘야한다
ws = wb['Sheet명']
: wb.sheetnames 로 확인한 Sheet명을 인덱싱해서 객체를 생성하는 방법
같은 방법으로
ws['셀 번호'] 를 통해 A1, B1등의 셀 자체에,
ws['셀 번호'].value 를 통해 해당 셀의 내용에 접근할 수도 있다
ws['A']
: 해당 열의 모든 셀 가져오기
for cell in ws['A']
print(cell.value)
: 해당 열의 모든 셀 내용가져오기
row_A = [ cell.value for cell in ws['A'] ]
for문을 이런식으로도 사용해서 가져올 수 있음
ws.cell( row = row index 번호, column = col index 번호).values
: row의 인덱스번호와 col의 인덱스 번호를 통해 cell 데이터를 확인 가능함
이때 주의할점은 엑셀파일이므로 0번 인덱스 시작이 아닌, 1번 인덱스 시작이다
이를 활용하여
ws.cell( row = row index 번호, column = col index 번호) = 입력데이터
이런식으로 특정위치에 원하는 내용을 입력할 수 있다
한번에 입력을 원할때는 list 안에 원하는 데이터를 저장하고
index = 1
for i in list :
ws.cell(row=1,column=1).value = i
index+=1
이런 방식으로 저장이 가능하다
ws['A1:B1']
ws['A1:C3']
이런식으로 슬라이싱해서 접근할 수도 있다
ws.columns_dimensions['선택할 열'].width = ?
:열 너비 변경하기









