728x90
안녕하세요.
이번에는 Python 으로 openpyxl 라이브러리를 써서 xlsx 파일을 쓰거나 읽는 예제를 진행하겠습니다.
먼저 openpyxl 을 설치해줍니다. 명령어는 다음과 같습니다.
pip install openpyxl
1. xlsx 파일 쓰기.
xlsx 파일을 쓰는 예제 코드입니다.
from openpyxl import Workbook
# 엑셀파일 쓰기
write_wb = Workbook()
# '생성시트' 이름을 가진 시트를 생성
write_ws = write_wb.create_sheet('생성시트')
# '생성시트'에다 입력
write_ws = write_wb['생성시트']
write_ws['A1'] = '숫자'
# 행 단위로 추가
write_ws.append([1,2,3])
# 셀 단위로 추가
write_ws.cell(5, 5, '5행5열')
# xlsx 파일 저장. './'는 현 디렉토리를 의미하며, 여기서는 현 디렉토리에 저장한다.
write_wb.save("./숫자.xlsx")
결과는 다음과 같습니다.
2. xlsx 파일 읽기.
xlsx 파일 내의 데이터를 읽어오는 예제입니다.
위에서 생성한 '숫자.xlsx' 파일을 읽어오겠습니다.
from openpyxl import load_workbook
# data_only=True로 해줘야 수식이 아닌 값으로 받아온다.
load_wb = load_workbook("./숫자.xlsx", data_only=True)
# 시트 불러오기
load_ws = load_wb['생성시트']
# 셀 주소로 값 출력
print("==== 셀 주소로 값 출력 ====")
print(load_ws['B2'].value)
print("===========================\n\n")
# 셀 좌표로 값 출력. (행, 열). 각각 1부터 시작한다.
print("==== 셀 좌표로 값 출력 ====")
print(load_ws.cell(2, 1).value)
print("===========================\n\n")
# 두 셀을 지정하여 해당 셀 범위 내의 값 출력
print("==== 두 셀을 지정하여 해당 셀 범위 내의 값 출력 ====")
get_cells = load_ws['A1' : 'B3']
for row in get_cells:
for cell in row:
print(cell.value)
print('\n')
print("====================================================\n\n")
# 모든 행과 열 출력
print("==== 데이터가 적힌 범위 내의 모든 행과 열의 값 출력 ====")
all_values = []
for row in load_ws.rows:
row_value = []
for cell in row:
row_value.append(cell.value)
all_values.append(row_value)
print(all_values)
print("========================================================")
결과는 다음과 같습니다.
'Python' 카테고리의 다른 글
[Python]pandas 를 이용하여 csv 파일 다루기 (0) | 2023.07.13 |
---|---|
[Python]Python에서 데이터 프레임을 이용하여 파이그래프 그리기 (0) | 2023.07.05 |
[python] 자연어 처리를 위한 텍스트 전처리(토큰화) (0) | 2023.06.28 |
[Python] Raspberry Pi 4 카메라로 영상 스트리밍 하기 (0) | 2023.06.15 |
[Python] Json 형태의 데이터 다루기 (0) | 2023.06.13 |