엑셀 파일 읽고 쓰기
엑셀 지원 모듈
* OpenPyXL : pip install openpyxl
Workbook - WorkSheet - Cell
1. pip
pip install openpyxl
2. 워크북 열고 워크시트 접근하기
import openpyxl
#Workbook(엑셀 파일)열기
wb = openpyxl.load_workbook('example.xlsx')
wb.get_sheet_names() #sheet 이름
sheet = wb.get_sheet_by_name('Sheet3')
sheet.title
another_sheet = wb.active #현재 활성화된 sheet
#방법 1 : Cell 변수로 값 접근
sheet['A1']
c=sheet['B1']#cell type
c.value #B1셀의 값을 받아온다
#방법 2 : sheet변수로 접근해서 cell의 값 접근
sheet['A45'].value
#
sheet.cell(row=1, column=2)
sheet.cell(row=1, column=2).value
for i in range(1, 8, 2):
print(i, sheet.cell(row=i, column=2).value)
#마지막 셀(Row) : sheet.max_row
#마지막 셀(Col) : sheet.max_column
#여러 셀 접근하기
cell_range = sheet['A1':'C2']#특정 범위
colC = sheet['C']
col_range = sheet['C:D']
row10 = sheet[10]
row_range = sheet[5:10]
#전체 컬럼과 로우에 접근하는 코드
for col_cell in colC:
print(col_cell.value)
for col in col_range:
for cell in col:
print(cell.value)
print('')
for col_cell in colC:
print(col_cell.value)
for row in row_range:
for cell in row:
print(cell.value)
print('')
#엑셀 만들고 저장하기
openpyxl.Workbook() #워크북 생성, 최소 1개의 워크시트가 같이 생성된다.
from openpyxl import Workbook
wb = Workbook()
wb.sheetnames #생성된 워크시트 이름이 나온다
sheet = wb.active
sheet.title
sheet.title = '파이썬 업무 자동화'
sheet.title
wb.create_sheet('sheet2')
wb.create_sheet('sheet3', 1) #worksheet 생성 위치
wb.save('test.xlsx') #워크북 저장
#셀에 값 쓰기
sheet['A1'] #A1셀의 값 읽기
sheet['A1'].value = 'hello' #쓰기
sheet.cell(row=1, column=1) #A1셀의 값 읽기
sheet.cell(row=1, column=1, value='world') #쓰기
#수식넣기
import openpyxl
wb = openpyxl.Workbook()
sheet = wb.active
sheet['A1'].value = 200
sheet['A2'].value = 200
sheet['A3'].value = '=SUM(A1:A2)'
wb.save('writeFormula.xlsx')
#cell 합치기 : merge_cell()
import openpyxl
wb = openpyxl.Workbook()
sheet = wb.active
sheet.merge_cells('A1:D3')
sheet['A1'].value = 'AAAAAAAAAA'
sheet.merge_cells('C5:D5')
sheet['C5'] = 'BBBBBBBBBB'
wb.save('merge_test.xlsx')