반응형
from openpyxl import load_workbook

wb = load_workbook("crocus_cell_range.xlsx")
ws = wb.active

# 데이터 찾기
for row in ws.iter_rows(min_row=2):
    # 번호, 영어, 수학
    if int(row[1].value) >= 80:
        print(row[0].value, "번 학생은 영어가 80점 이상입니다.")

# 데이터 찾아 수정
for row in ws.iter_rows(max_row=1):
    for cell in row:
        if cell.value == "영어":
            cell.value = "컴퓨터"

ws.insert_rows(8, 5)  # 8번째 줄에 5행 삽입

wb.save("crocus_insert_rows.xlsx")

ws.insert_cols(2, 3)  # B,C,D번째 열에 새로운 열 추가
wb.save("crocus_insert_cols.xlsx")

wb.close()

 

# 데이터 찾기
for row in ws.iter_rows(min_row=2):
    # 번호, 영어, 수학
    if int(row[1].value) >= 80:
        print(row[0].value, "번 학생은 영어가 80점 이상입니다.")

crocus_cell_range.xlsx 파일을 열어서  ws.iter_rows 를통해 각 줄(행)마다의 데이터를 확인한다.

이때 row[0].value는 번호의 값들이고 row[1].value는 영어의 값, row[2].value는 수학의 값이다.

 

영어의 값이 80이상인 데이터가 존재하면 해당 데이터를 출력해준다.

 

 

# 데이터 찾아 수정
for row in ws.iter_rows(max_row=1):
    for cell in row:
        if cell.value == "영어":
            cell.value = "컴퓨터"

영어라는 데이터가 존재하면 해당 값을 컴퓨터로 수정한다.

위에서는 min_row가 2인 이유는 필드값을 제외한 데이터들만 보고자했지만, 여기서는  min_row = 1을 통해 필드값도 포함시킨다.

 

ws.insert_rows(8, 5)  # 8번째 줄에 5행 삽입

wb.save("crocus_insert_rows.xlsx")

ws.insert_cols(2, 3)  # B,C,D번째 열에 새로운 열 추가
wb.save("crocus_insert_cols.xlsx")

wb.close()

행과 열을 추가하여 저장하는 방법이다.

 

결과물은 아래와 같다.

 

from openpyxl import load_workbook
wb = load_workbook("sample.xlsx")
ws = wb.active

# ws.delete_rows(8)  # 8번째 행에 있는 데이터 삭제
ws.delete_rows(8, 3)  # 8, 9, 10번째 행에 있는 데이터 삭제

wb.save("sample_delete_row.xlsx")

# ws.delete_cols(2)  # 2번째 열에 있는 데이터 삭제
ws.delete_cols(2, 2)  # 2, 3번째 열에 있는 데이터 삭제

wb.save("sample_delete_cols.xlsx")

wb.close()

추가로 삭제는 delete_rows를 통해 진행한다. 이는 앞선 내용들과 비슷하기때문에 설명 및 결과물은 생략하고자한다.

 

 

 

 

반응형