엑셀 파일 처리를 위한 라이브러리 선택
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 문서