openpyxl
Python

openpyxl

openpyxl 라이브러리를 사용해 파이썬으로 엑셀 문서를 작성하거나 데이터를 읽어올 수 있다.

1
pip install openpyxl

시작하기

1. 파일 만들기

1
2
from openpyxl import Workbook
wb = Workbook()

2. 시트 만들기

1
2
3
ws = wb.active
ws.title = "S1"
ws.sheet_properties.tabColor = "FFFF00"

3. 저장하기

1
wb.save("Data.xlsx")

4. 불러오기

파일을 불러오기 위해 load_workbook을 import 합니다.

1
2
3
from openpyxl import load_workbook
wb = load_workbook("Data.xlsx")
ws = wb.active

데이터 입력하기

입력할 데이터

요일 최고 기온 최저 기온 강수확률
30 25 2
29 24 2
25 22 5
25 22 6
26 22 12
28 23 13
28 20 10

1. 한꺼번에 값 입력하기

append을 사용해 한꺼번에 값을 입력할 수 있습니다.

1
ws.append(["요일", "최고 기온", "최저 기온", "강수확률"])
1
2
3
4
5
6
7
8
9
data = [["월", 30, 25, 2],
        ["화", 29, 24, 2],
        ["수", 25, 22, 5],
        ["목", 25, 22, 6],
        ["금", 26, 22, 12],
        ["토", 28, 23, 13],
        ["일", 28, 20, 10]]
for i in data:
    ws.append(i)

2. 범위를 지정해 값 입력하기

반복문을 사용해 범위를 지정해 값을 입력할 수 있습니다. row에 행, column에 열, value에 값을 입력합니다.

1
2
for i in range(2, 8):
    ws.cell(row=i, column=5, value=i-1)

3. 특정 셀에 값 입력하기

좌표를 사용해 특정 셀에 값을 입력합니다.

1
ws["A9"] = "날씨"

수식을 입력할 수도 있습니다.

1
2
3
ws["B9"] = "=AVERAGE(B2:B8)"
ws["C9"] = "=AVERAGE(C2:C8)"
ws["D9"] = "=AVERAGE(D2:D8)"

실행하기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from openpyxl import Workbook
wb = Workbook()

ws = wb.active
ws.title = "S1"
ws.sheet_properties.tabColor = "FFFF00"

ws.append(["요일", "최고 기온", "최저 기온", "강수확률"])
data = [["월", 30, 25, 2],
		["화", 29, 24, 2],
		["수", 25, 22, 5],
		["목", 25, 22, 6],
		["금", 26, 22, 12],
		["토", 28, 23, 13],
		["일", 28, 20, 10]]
for i in data:
    ws.append(i)

for i in range(2, 8):
    ws.cell(row=i, column=5, value=i-1)

ws["A9"] = "날씨"
ws["B9"] = "=AVERAGE(B2:B8)"
ws["C9"] = "=AVERAGE(C2:C8)"
ws["D9"] = "=AVERAGE(D2:D8)"

wb.save("Data.xlsx")

dd2

dd