728x90
엑셀 작업을 할 때 여러 개의 파일이나 시트의 정보를 참조 및 활용해야 하는 경우가 있다. 이번 포스팅에서 새로운 시트를 만들거나 지우고, 하나의 파일에 있는 데이터를 다른 파일이나 시트에 옮기는 예시를 작성해보려고 한다.
시트 생성과 제거
- workbook을 생성하고 파이썬을 통해 값과 수식을 입력해 계산한 값을 새로운 시트를 생성해 그 곳에 저장하는 예시를 작성했다.
line 7
은 엑셀 프로그램을 실행하고 여러 개의 엑셀 파일을 효과적으로 다룰 수 있도록 해준다. 완성된 프로세스를 실제로 사용할 때 엑셀 창을 띄우지 않고 작업을 수행할 때는 반드시 필요하다.line 9
의 코드가 새로운 시트를 생성하는 코드이다.add
의 argument로 after나 before로 새로 생성 될 시트의 위치를 지정해준다. 입력은 workbook의 특정 sheet를 입력으로 전달한다. 기본 값은 맨 앞에 생성하게 되고, 구현한 방식으로 몇 번째 위치에 생성할 지 지정할 수 있다.line 19
와 같이 특정 셀에 엑셀 함수를 전달할 수도 있고, 이후 코드와 같이 계산된 값을 python에 불러올 수도 있다.line 29~line30
으로 작업을 끝낸 파일을 저장하고 종료한다.
참고) excel 데이터 복사하기
sheet.range("cell").value
로 접근시 서식은 가져오지 않고, 셀 안에 있는 데이터만 가지고 오게된다. 셀의 서식을 포함해 가져오길 원한다면sheet.range("cell").copy()
를 사용해 서식을 포함한 복사를 활용해야 한다.- 아래 A1:D5가 원본 데이터이고, (A) A7:D11는
sheet.range('cell').copy()
&.paste()
로 서식 포함 복사, (B)sheet.range('cell').value
를 할당해 복사하는 코드이다. - 그 결과는 아래 이미지로 확인할 수 있다.
## 서식 포함 복사 --> A
sheet.range("A1:D5").copy()
sheet.range("A7").paste()
## 값만 복사 --> B
sheet.range("F7").value = sheet.range("A1:D5").value
'프로그래밍 언어 > python' 카테고리의 다른 글
[win32com] python으로 pptx 파일 다루기(2) - PPT 요소에 있는 데이터 접근하기 (0) | 2022.10.23 |
---|---|
[win32com] 파이썬으로 pptx 파일 다루기 (1) pptx의 원하는 위치에 접근하기 (0) | 2022.10.10 |
[xlwings] 파이썬으로 excel 파일 다루기 (1) quick start (0) | 2022.09.28 |
[python] 객체 지향 프로그래밍 1 - Object oriented python (0) | 2022.08.08 |
numpy array broadcasting (0) | 2022.07.26 |