We are Architect

28. 파이썬으로 하는 엑셀 작업 본문

Programing/Python

28. 파이썬으로 하는 엑셀 작업

the best infra 2024. 11. 30. 23:55

 

* 취지 

  • 엑셀을 잘 못하는 나로써는 엑셀을 물론 배워야 한다는 사명감도 있지만 요즘 코드로 뭐든 할 수 있다는 생각에 여러 자료 들을 찾아 보았고 그중에 엑셀 작업을 도와주는 openyxl 이라는 라이브러리를 이용하여 작업을 하는 자료 들을 찾아 보았다. 그래서 엑셀 작업을 코드를 해보고자 한다. 

 

 

* 사용하는 도구 

  • openyxl
  • openyxl.workbook()

 

 

* 미리 준비해야 할 사항

  • openyxl 다운로드
# CMD 창 열고 다운로드
C:/ > pip install openyxl

 

  • 미리 테스트용 엑셀 파일 생성

 

 

* 엑셀 모듈 불러오기

# 엑셀 모듈 불러오기
from openpyxl import Workbook

 

 

 

* 새로운 엑셀 문서 생성(이미 존재한다면 수정)

  • openyxl에는 workbook이라는 엑셀 파일을 새로 만들거나 수정하는 클래스가 존재한다.
  • 해당 클래스를 이용해서 엑셀 파일을 수정하고자 한다. 
# 새로운 엑셀 문서 생성
write_wb = Workbook()

 

  • 엑셀 문서에 새로운 시트 추가 하고 변수에 넣어서 활성화 
# 이름이 있는 워크시트를 생성
write_ws = write_wb.create_sheet('테스트용 시트')

# 시트를 활성화
write_ws = write_wb['테스트용 시트']

 

 

* 새로운 데이터 값 입력

  • 일반적으로 변수에 데이터 삽입 > write_ws['A1'] = '숫자'
  • 데이터를 차례대로 삽입(첫번째 셀부터) > wite_ws.append = [1,2,3]
  • 데이터를 정해진 위치에 삽입 > wite_ws.cell(5,5, '5행 5열')
# 데이터 입력
write_ws['A1'] = '숫자'
# 데이터 여러개를 추가로 삽입
write_ws.append([1, 2, 3])
# 데이터를 원하는 위치에 삽입 cell(x,y,'입력값')
write_ws.cell(5, 5, '5행5열')

 

 

* 데이터를 넣기 전 사용가능한 데이터 출력

print(write_wb.sheetnames)

 

 

* 엑셀 파일 저장

  • 해당 경로에 있는 파일의 시트를 저장(새 파일이라면 끝에 이름 및 확장자로 저장)
write_wb.save(r"C:\study for python\python_excel\숫자.xlsx")

 

 

* 코드 실행 후에 결과

 

 

* 전체 코드

# 엑셀 모듈 불러오기
from openpyxl import Workbook

# 새로운 엑셀 문서 생성
write_wb = Workbook()

# 이름이 있는 워크시트를 생성
write_ws = write_wb.create_sheet('테스트용 시트')

# 시트를 활성화
write_ws = write_wb['테스트용 시트']

# 데이터 입력
write_ws['A1'] = '숫자'
write_ws.append([1, 2, 3])
write_ws.cell(5, 5, '5행5열')

# 사용 가능한 시트 이름 출력 (확인용)
print(write_wb.sheetnames)

# 엑셀 파일 저장 (파일 경로 확인 및 권한 문제 해결)
write_wb.save(r"C:\study for python\python_excel\숫자.xlsx")

 

 

 

* 자료 참고 출처 : davi_kr님 >  https://develop-davi-kr.tistory.com/entry/%ED%8C%8C%EC%9D%B4%EC%8D%AC%EC%9C%BC%EB%A1%9C-%EC%97%91%EC%85%80-%EC%9E%91%EC%97%85%ED%95%98%EA%B8%B0-openpyxl