반응형
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를 통해 진행한다. 이는 앞선 내용들과 비슷하기때문에 설명 및 결과물은 생략하고자한다.
반응형
'Basic > Python' 카테고리의 다른 글
[openpyxl] 9. 파이썬을 이용한 엑셀 셀 병합 및 해제 (0) | 2021.10.27 |
---|---|
[openpyxl] 8. 파이썬을 이용한 엑셀 데이터 이동 (0) | 2021.10.26 |
[openpyxl] 6. 파이썬을 이용한 엑셀 셀 범위 데이터 계산 (0) | 2021.10.23 |
[openpyxl] 5. 파이썬을 이용한 엑셀 파일 데이터 불러오기 (0) | 2021.10.22 |
[openpyxl] 4. 파이썬을 이용한 엑셀 반복문 (0) | 2021.10.21 |