파이썬으로 XLSX 파일 읽고 쓰기

엑셀 파일 처리를 위한 라이브러리 선택

Python에서 Excel 파일을 다룰 때 주로 사용하는 라이브러리는 openpyxl입니다. 이 라이브러리는 .xlsx 형식의 파일만 지원하며, 읽기 및 쓰기 모두 가능합니다. 또한 수식 삽입, 스타일 설정 등 고급 기능도 제공합니다.

샘플 데이터 준비

다음과 같은 구조의 apis.xlsx 파일이 존재합니다:

name method url data json result
get인터페이스 get https://httpbin.org/get?a=1&b=2
post폼인터페이스 post https://httpbin.org/post
post-json인터페이스 post https://httpbin.org/post

전체 데이터 읽기

import openpyxl

# 엑셀 파일 로드
workbook = openpyxl.load_workbook('apis.xlsx')
worksheet = workbook.active

# 전체 데이터 출력 (이터레이터 형태)
for row in worksheet.values:
    print(row)

# 행 및 열 수 확인
print(f"최대 열 수: {worksheet.max_column}")
print(f"최대 행 수: {worksheet.max_row}")

행 단위로 데이터 접근

# 특정 범위의 행 읽기 (1행부터 3행까지, 1열부터 3열까지)
for row in worksheet.iter_rows(min_row=1, max_row=3, min_col=1, max_col=3):
    print([cell.value for cell in row])

# 헤더 행 추출
header_row = [cell.value for cell in worksheet[1]]
print("컬럼명:", header_row)

# 데이터 행만 추출 (2행부터)
for row in worksheet.iter_rows(min_row=2):
    data_row = [cell.value for cell in row]
    print(data_row)

특정 셀 값 읽기

# 좌표로 접근
print(worksheet['A1'].value)

# 인덱스로 접근 (행/열은 1부터 시작)
print(worksheet.cell(row=1, column=1).value)

데이터 쓰기 및 저장

# 특정 셀에 값 입력
worksheet['F2'] = '성공'

# 결과 컬럼 위치 찾기
result_index = header_row.index('result') + 1
worksheet.cell(row=3, column=result_index).value = '성공'

# 새로운 행 추가
new_data = ['post-xml인터페이스', 'post', 'https://httpbin.org/post']
worksheet.append(new_data)

# 변경 사항 저장 (새 파일 생성)
workbook.save('apis_updated.xlsx')

결과 파일 예시

name method url data json result
get인터페이스 get https://httpbin.org/get?a=1&b=2 성공
post폼인터페이스 post https://httpbin.org/post 성공
post-json인터페이스 post https://httpbin.org/post
post-xml인터페이스 post https://httpbin.org/post

자세한 기능은 공식 문서를 참조하세요: openpyxl 문서

태그: openpyxl XLSX python 데이터처리 파일작업

6월 5일 16:05에 게시됨