본문 바로가기
Software/Python

[Openpyxl] 5. 찾기, 수정, 삽입, 삭제, 이동

by 리미와감자 2024. 1. 28.

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

댓글