티스토리 뷰

오늘은 마이크로소프트가 만든 가장 강력한 도구, 엑셀에 대한 접근을 파이썬으로 해보고자 한다.
1. 라이브러리 불러오기

먼저 openpyxl을 import한다. 그리고, 워크시트로 접근하는 작업을 수행한다. 미리 만들어놓은 "Fruit.xlsx"로 접근하여, load_workbook 메서드를 이용하여 워크시트에 접근한다. sheetnames를 이용하여 워크시트의 이름을 확인한다. 이를 후에 간편하게 다룩자 각각을 sheet1, sheet2라는 변수에 담아 넣는다.
* 저장된 엑셀 시트 확인

저장된 엑셀시트를 확인해보자. 위와 같은 모습이다. A1부터 B3까지의 셀의 과일 밑 색상 값이 들어가 있음을 확인할 수 있다.
2. 셀 값 출력하기


앞서 배운 반복문을 통해서 A1, A2, A3의 값을 호출해본다. sheet2번째에서 cell(i,1)의 값들만 출력해본다. 여기서 i와 1은 i행의 1열을 출력하는 것이다. 즉 A열에 있는 값들이 모두 출력이 되는 것이다. 결과 값이 일치하는 것을 확인할 수 있다.
이와 별개로 sheet2["A1"].value과 같은 방식으로 직접 셀이 있는 변수["셀 주소"].value를 입력하면, 셀의 값이 반환된다.
3. 데이터 시작과 끝의 행과 열 번호 확인


엑셀을 살펴보면 엑셀은 3행 2열로 구성되어 있는 것을 확인할 수 있다. min_row, max_row, min_column, max_column 매서드를 이용해서, 데이터 시작과 끝의 행, 열 번호를 출력해보면, 1부터 3까지의 행, 1부터 2까지의 열이 있음이 확인된다.
실제 엑셀 시트와 일치함을 확인할 수 있다.
4. 셀의 값 바꾸기

셀의 값을 변경하도록 하자. list_food라는 리스트를 만들어서 음식 3개를 해당 변수에 넣는다. 그리고, A1부터 A3까지의 셀의 값을 list_food 0번부터 2번까지 입력되도록 한다.
그리고 A1부터 A3까지 순회하여 값을 출력하면, list_food의 값이 알맞게 들어가, 값이 바뀐 것을 확인할 수 있다.
그러나,

해당 엑셀 시트를 조회해본 결과 값이 바뀌지 않았다.
save를 하지 않았기 때문이다. 코드를 입력하여 파이썬 상으로 값이 수정이 되어도 save를 누르지 않으면 엑셀 시트를 열어봤을 때 값이 변하지 않는다.

따라서 save를 반드시 해줘야 한다. 세이브는 기존에 작업했던 엑셀 시트 명을 그대로 사용해도 좋지만, 새로운 엑셀시트명을 입력하여, 새로 파일을 만들 수도 있다.

저장을 하고 다시 엑셀 시트를 열어본 결과, 올바르게 값이 저장됨을 확인할 수 있다.
'개발자 로그 > Python' 카테고리의 다른 글
| 넘파이 기초 (0) | 2024.09.12 |
|---|---|
| [실습] 워드 클라우드 (0) | 2024.09.11 |
| 정규표현식 (0) | 2024.09.10 |
| 함수 (0) | 2024.09.10 |
| 제어문(조건문, 반복문) (0) | 2024.09.09 |
- Total
- Today
- Yesterday
- 엑셀파이썬
- list에서의 사용되는 for문
- 인덱싱과 슬라이싱 불가
- 조건 조회
- 정규표현식의 유용성
- 정규표현식이란
- 튜플은 immutable
- 딕셔너리의 자료형
- 조회 및 슬라이싱
- 리스트 요소 변경
- 리스트 더하기
- list_avg
- 클로드 mcp
- 날짜 시간 자료형
- 넘파이 불러오기
- 같은 key는 무시
- 딕셔너리 변경 및 추가
- legb 규칙
- 중복 x
- model context protocol
- cladue mcp
- 튜플 안에 리스트 요소는 변경이 가능
- 리스트 요소 대문자 변환
- list comprehention
- 스마트워치2025
- 리스트 곱하기
- 요소가 하나인 튜플
- 함수의 형태
- 문자열 콤마
- 배열만들기
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |