본문 바로가기
Software/Python

[Openpyxl] 2. Cell 기초

by 리미와감자 2024. 1. 22.

2. Cell 기초

 

셀에 값 입력하기

 

from openpyxl import Workbook
wb = Workbook() # 새 워크북 생성
ws = wb.active # 현재 활성화된 Sheet를 가져옴
ws.title = "TestSheet"

# 셀에 값 입력
ws["A1"] = 1
ws["A2"] = 2
ws["A3"] = 3
ws["B1"] = 4
ws["B2"] = 5
ws["B3"] = 6

 

 

 

 

셀의 정보 가져오기

 

셀의 이름으로 정보 가져오기

 

# 셀의 정보 가져오기
print(ws["A1"]) # A1 셀의 객체 정보
print(ws["A1"].value) # A1 셀의 값.
print(ws["A10"].value) # A10 셀의 값. 값이 없으면 None을 출력.

 

 

<Cell 'TestSheet'.A1>
1
None

 

  • 해당 셀의 이름을 직접 입력하여 정보를 가져올 수 있다.

 

셀의 행과 열로 정보 가져오기

 

# row = 1, 2, 3, ...
# column = A(1), B(2), C(3), ...
print(ws.cell(row=1, column=1)) # A1 셀의 객체 정보
print(ws.cell(row=1, column=1).value) # A1 셀의 값
print(ws.cell(row=10, column=1).value) # A10 셀의 값. 값이 없으면 None을 출력.
print(ws.cell(row=1, column=2).value) # B1 셀의 값

 

 

<Cell 'TestSheet'.A1>
1
None
4

 

  • row(행) = 1, 2, 3, ...
  • column(열) = A(1), B(2), C(3), ...

 

셀에 값을 입력하며 변수에 저장

 

c = ws.cell(row=1, column=3, value=10) # ws["C1"] = 10 과 동일한 동작.
print(c.value) # C1 셀의 값

 

 

10

 

 

셀에 랜덤 값 입력하고 저장한 후에 다시 불러오기

 

셀에 랜덤 값 10 x 10 입력하기

 

from random import *

index = 1
for x in range(1, 11): # 10개 row
    for y in range(1, 11): # 10개 column
        ws.cell(row=x, column=y, value=randint(0,100)) # 0 ~ 100 사이의 랜덤 숫자
        # ws.cell(row=x, column=y, value=index) # 1부터 100까지 증가하는 숫자
        index += 1

wb.save("test.xlsx")  # 워크북 저장
wb.close()  # 워크북 닫기

 

 

 

 

셀의 10 x 10 랜덤 값 불러오기

 

from openpyxl import load_workbook # 파일 불러오기 라이브러리
wb = load_workbook("test.xlsx") # test.xlsx 파일에서 wb을 불러옴
ws = wb.active # 현재 활성화된 Sheet를 가져옴

# Cell 데이터 불러오기
for x in range(1, 11):
    for y in range(1, 11):
        print(ws.cell(row=x, column=y).value, end=" ") # 1, 2, 3, 4, ...
    print()

# Cell 개수를 모를 때
for x in range(1, ws.max_row + 1):
    for y in range(1, ws.max_column + 1):
        print(ws.cell(row=x, column=y).value, end=" ") # 1, 2, 3, 4, ...
    print()

 

 

19 11 31 43 84 88 20 31 40 9 
78 14 79 55 47 99 7 73 6 13 
14 67 9 17 8 98 14 48 79 69 
11 23 95 45 82 23 69 40 64 3 
94 53 75 61 60 23 63 94 41 33 
97 7 43 73 39 70 28 56 12 31 
14 3 37 82 36 68 23 41 36 79 
65 13 32 11 10 100 23 33 4 68 
36 15 0 8 16 93 1 97 60 98 
58 36 18 15 47 89 61 3 73 51 
19 11 31 43 84 88 20 31 40 9 
78 14 79 55 47 99 7 73 6 13 
14 67 9 17 8 98 14 48 79 69 
11 23 95 45 82 23 69 40 64 3 
94 53 75 61 60 23 63 94 41 33 
97 7 43 73 39 70 28 56 12 31 
14 3 37 82 36 68 23 41 36 79 
65 13 32 11 10 100 23 33 4 68 
36 15 0 8 16 93 1 97 60 98 
58 36 18 15 47 89 61 3 73 51 

Process finished with exit code 0

 

  • Cell의 행과 열의 최대값은 ws.max_row, ws.max_column으로 확인한다.

'Software > Python' 카테고리의 다른 글

[Openpyxl] 4. Cell 서식  (0) 2024.01.28
[Openpyxl] 3. Cell 영역  (0) 2024.01.24
[Openpyxl] 1. Workbook, Worksheet  (0) 2024.01.22
[Pycharm] 파이참에서 터미널 (powershell -> cmd) 변경하기  (0) 2023.11.13
모듈화하기  (0) 2023.11.12

댓글