[패키지] openpyxl - excel 엑셀 파일 다루기
openpyxl 패키지 사용
$ pip install openpyxl
엑셀파일 불러오기
1. 워크북(엑셀파일) 불러오기
- load_workbook(‘파일명’) : 해당 엑셀파일 불러오기
import openpyxl
wb = openpyxl.load_workbook('text.xlsx')
2. 워크시트 불러오기
- worksheets[시트번호] : 시트순서로 불러오기 (0부터 시작)
- get_sheet_by_name(‘시트명’) : 시트명으로 불러오기
- active : 활성시트(default 시트) 불러오기
ws = wb.worksheets[0] # 1번째 시트 불러오기
ws = wb.get_sheet_by_name('user') # 'user' 시트 불러오기
ws = wb.active # 활성시트 불러오기
3. 셀값 불러오기
- ws[‘셀’].value : 해당 셀의 값 불러오기
ws['A1'].value
- max_column : 컬럼 수
- max_row : 로우 수
- rows : 로우 iterator
import openpyxl
wb = openpyxl.load_workbook('text.xlsx')
ws = wb.worksheets[0]
for row in ws.rows:
current_row = row[0].row # 현재 행 index (1부터 시작) (row[0].row = row[1].row)
if current_row == 1: # 첫번째행(열이름) 패스
pass
name = row[0].value
phone = row[1].value.strip().replace('-', '')
user = User(name=name, phone=phone)
user.save()
엑셀파일 생성하기
1. 워크북(엑셀파일) 생성
import openpyxl
wb = openpyxl.WorkBook()
2. 워크시트 불러오기
- create_sheet(“시트명”, 위치) : 워크시트 생성
ws1 = wb.create_sheet("Mysheet") # 마지막(default)에 생성
ws2 = wb.create_sheet("Mysheet_first", 0) # 첫번째에 생성
3. 셀값 작성
ws1.title = 'test1 Sheet'
ws1['A1'] = 'test1'
ws1['A2'] = '=SUM(1,1)'
ws1.cell(row=2, column=3).value = '10'
4. 워크북(엑셀파일) 저장
wb.save('testing.xlsx')
wb.close()