5. 찾기, 수정, 삽입, 삭제, 이동
from openpyxl import load_workbook
wb = load_workbook("test.xlsx")
ws = wb.active

- 테스트 파일을 불러온다.
조건에 맞는 셀 찾기
for row in ws.iter_rows(min_row=2):
# 번호, 영어, 수학
if int(row[1].value) > 80: # 영어가 80점 초과
print(row[0].value, "번 학생은 영어 천재")
1 번 학생은 영어 천재
2 번 학생은 영어 천재
8 번 학생은 영어 천재
조건에 맞는 셀 수정하기
for row in ws.iter_rows(max_row=1):
for cell in row:
if cell.value == "영어":
cell.value = "컴퓨터"

- 영어 셀이 컴퓨터 셀로 수정되었음.
행 또는 열 삽입하기(insert_rows(), insert_cols())
행 삽입하기
# ws.insert_rows(8) # 8번째 줄에 1줄 삽입
ws.insert_rows(8, 5) # 8번째 줄에 5줄 삽입
wb.save("test_insert_rows.xlsx")

- ws.insert_rows(삽입 시작 행, 삽입될 행의 개수)
열 삽입하기
# ws.insert_cols(2) # 2번째 열에 1열 삽입
ws.insert_cols(2, 3) # 8번째 열에 5열 삽입
wb.save("test_insert_cols.xlsx")

- ws.insert_cols(삽입 시작 열, 삽입될 열의 개수)
행 또는 열 삭제하기(delete_rows(), delete_cols())
행 삭제하기
# ws.delete_rows(8) # 8번째 줄 삭제
ws.delete_rows(8, 3) # 8번째 줄부터 3줄 삭제
wb.save("test_delete_row.xlsx")


- ws_delete_rows(삭제 시작 행, 삭제될 행의 개수)
- 8번째 행부터 3개의 행이 삭제되었다.
열 삭제하기
# ws.delete_cols(2) # 2번째 열 삭제
ws.delete_cols(2, 2) # 2번째 열부터 2열 삭제
wb.save("test_delete_col.xlsx")


- ws_delete_cols(삭제 시작 열, 삭제될 열의 개수)
- 2번째 행부터 2개의 열이 삭제되었다.
셀 이동하기(move_range())
ws.move_range("B1:C11", rows=1, cols=3)

- ws.move_range("이동할 셀의 영역", 이동할 행의 개수, 이동할 열의 개수)
- B1:C11 셀 영역을 아래로(행 방향으로) 1칸, 오른쪽으로(열 방향으로) 3칸 이동했다.
반대로 이동하기
ws.move_range("C1:C11", rows=5, cols=-1)

- -(마이너스) 값을 입력하면 반대로 이동한다.
- 아래로 5칸, 왼쪽으로 1칸 이동했다.
'Software > Python' 카테고리의 다른 글
[Openpyxl] 7. 차트(Chart) 삽입 (1) | 2024.01.28 |
---|---|
[Openpyxl] 6. 이미지 삽입 (0) | 2024.01.28 |
[Openpyxl] 4. Cell 서식 (0) | 2024.01.28 |
[Openpyxl] 3. Cell 영역 (0) | 2024.01.24 |
[Openpyxl] 2. Cell 기초 (0) | 2024.01.22 |
댓글