[Python] Excel 다루기(openpyxl)

우선 Excel을 다루기 위해서는 그에 맞는 모듈이 필요합니다.

저는 openpyxl로 진행해볼것이기에 pip로 설치해줍니다.

pip install openpyxl

1. 데이터 쓰기(ex1.py)

from openpyxl import Workbook

# 엑셀파일 쓰기
write_wb = Workbook()

# 이름이 있는 시트를 생성
write_ws = write_wb.create_sheet('생성시트')

# Sheet1에 입력
write_ws = write_wb.active
write_ws['A1'] = '숫자'

#행 단위로 추가
write_ws.append([1,2,3])

#셀 단위로 추가
write_ws.cell(5, 5, '5행5열')

#저장하기
write_wb.save("./1.xlsx")

 

2. 데이터 출력(ex2.py)

from openpyxl import load_workbook

#data_only=True로 해줘야 수식이 아닌 값으로 받아온다.

load_wb = load_workbook("./1.xlsx", data_only=True)

#시트 이름으로 불러오기

load_ws = load_wb['Sheet']


#셀 주소로 값 출력

print(load_ws['B2'].value)


#셀 좌표로 값 출력

print(load_ws.cell(2, 3).value)


#지정한 셀의 값 출력

get_cells = load_ws['C3' : 'C6']
for row in get_cells:
  for cell in row:
    print(cell.value)


#모든 행 단위로 출력

for row in load_ws.rows:
  print(row)


#모든 열 단위로 출력

for column in load_ws.columns:
  print(column)


#모든 행과 열 출력

all_values = []
for row in load_ws.rows:
  row_value = []
  for cell in row:
    row_value.append(cell.value)
  all_values.append(row_value)
print(all_values)

load_wb.save("./1.xlsx")