1. 엑셀 파일 열기
# 라이브러리 불러오기
import openpyxl as xl # openpyxl 라이브러리를 xl 별칭으로 줌.
# 워크북 오브젝트를 선언(엑셀 파일 열기) - load_workbook
wb = xl.load_workbook('Fruit.xlsx')
# 시트 이름 확인
wb.sheetnames
# 출력 결과
['Sheet1', 'Sheet2']
2. 엑셀 파일 읽기 - 기존 들고 있던 Fruit.xlsx 파일 사용
# 시트 선택
sheet1 = wb['Sheet1']
# 셀 이름으로 셀 값 확인
sheet1['A1'].value
# 결과 출력
'Apple'
# 행과 열 번호로 셀 값 확인
sheet1.cell(row=1, column=1).value
# 결과 출력
'Apple'
# 데이터 영역 확인
print(sheet1.min_row, sheet1.max_row) # 시작 행, 끝 행
print(sheet1.min_column, sheet1.max_column) # 시작 열, 끝 열
# 결과 출력
1 4 # 1~4행
1 2 # 1~2열
# 연습 문제
# 해당 엑셀파일에 Banana를 읽어 보세요.
# Banana 읽기
print(sheet1['A2'].value)
# 또는
print(sheet1.cell(2,1).value) # value를 생략해도 됨.
# row=2, column=1 과 같은 의미임.
# 반복문을 사용해 과일 이름 하나씩 출력하기
# 과일 이름 출력 1
for x in range(sheet1.min_row, sheet1.max_row + 1): # 1, 5
print(sheet1.cell(x,1).value)
# 출력 결과
Apple
Banana
Melon
Orange
# 과일 이름 출력 2
fruit = []
for x in range(1, 5):
fruite.append(sheet1[f'A{x}'].value # append와 A{x} 사용에 대해서 좋은 방법이라고 생각했음.
print(fruite)
# 출력 결과
['Apple', 'Banana', 'Melon', 'Orange']
3. 엑셀 파일 쓰기
1) 셀 값 수정하기
- 해당 셀 값에 새로운 값을 할당하는 방법으로
- sheet1['A1'].value = 'Pineapple'
=> 바꾸고 반드시 저장해야함
=> wb.save('Fruit.xlsx')
2) 행/열 추가와 삭제
- sheet.insert_rows(행번호) : 행 삽입
- sheet.insert_cols(열번호) : 열 삽입
- sheet.delete_rows(행번호) : 행 삭제
- sheet.delete_cols(열번호) : 열 삭제
# 행 추가
sheet1.insert_rows(2)
# 셀 값 확인
print(sheet1.cell(1, 1).value, sheet1.cell(1, 2).value)
print(sheet1.cell(2, 1).value, sheet1.cell(2, 2).value)
print(sheet1.cell(3, 1).value, sheet1.cell(3, 2).value)
# 저장
# wb.save('Animal.xlsx')
# 출력 결과
Lion Mammals
None None # 새로 추가된 2행
Elephant Mammals
# 행 삭제
sheet1.delete_rows(2)
# 셀 값 확인
print(sheet1.cell(1, 1).value, sheet1.cell(1, 2).value)
print(sheet1.cell(2, 1).value, sheet1.cell(2, 2).value)
print(sheet1.cell(3, 1).value, sheet1.cell(3, 2).value)
# 저장
wb.save('Animal.xlsx')
# 출력 결과
Lion Mammals
Fox Mammals # 다시 앞으로 땡겨져 오는 것을 확인
Leopard Mammals
delete는 내용만 삭제하는 것이 아니라, 행 자체를 삭제하는 것!
'파이썬 > 데이터 다루기' 카테고리의 다른 글
[240911] 파이썬 #11 - 이메일 보내기 (0) | 2024.09.11 |
---|---|
[240911] 파이썬#09 파일 읽고 쓰기, 워드 클라우드 그리 (0) | 2024.09.11 |
[240911] #파이썬08-정규표현 (0) | 2024.09.11 |
[240910] #파이썬07 함수- 출력(Output) (0) | 2024.09.10 |
[240910] # 파이썬06 - 함수 (입력_Input) (0) | 2024.09.10 |