본문 바로가기
Python/openpyxl

파이썬을 활용한 엑셀 시트에 값 입력하기

by 찐남 2022. 7. 9.

이번 포스팅에서는 파이썬을 활용해서

엑셀 시트에 값을 입력하는 방법에 대해서

알아보겠습니다.

 

import openpyxl as xls

# 신규 엑셀 워크북 생성
wb = xls.Workbook()

# 활성화되어 있는 시트 가져오기
ws = wb.active

# 시트명 삽입하기
ws.title = "값입력하기"

 

위의 코드를 실행하면, 

기본적인 엑셀 파일을 다루기 위한

객체들이 생성됩니다.

 

이에 대한 설명은 아래 포스팅을

참고하시면 됩니다.

 

 

파이썬을 활용한 엑셀 파일 생성하기

엑셀 파일의 분석을 파이썬을 이용하여 수행할 수 있는 데요. 이는 반복적인 엑셀 작업이 필요할 때, 매우 유용하게 사용할 수 있습니다. 본 포스팅에서는 파이썬을 활용하여 엑셀을 사용할 수

zzinnam.tistory.com

 

 

엑셀 주소를 이용하여 값 입력하기

엑셀의 셀 주소를 이용하여 

값을 입력할 수 있습니다.

# "값입력하기" sheet의 A1 칼럼에 숫자 1 입력하기 1 
ws["A1"] = 1

ws["A2"] = 2
ws["A3"] = 3

ws["B1"] = 4
ws["B2"] = 5
ws["B3"] = 6

 

엑셀의 셀을 행렬로 인식하여 값 입력하기

엑셀의 셀 위치를 행렬로 인식하여

값을 입력할 수 있습니다.

# "값입력하기" sheet의 A4 칼럼(4행 1열)에 숫자 7 입력하기
ws.cell(row = 4, column = 1, value = 7)

# "값입력하기" sheet의 B4 칼럼(4행 2열)에 숫자 8 입력하기
ws.cell(row = 4, column = 2, value = 8)

 

입력 정보 출력하기

print를 활용하여 입력한 정보를

확인할 수 있습니다.

# "값입력하기" sheet의 A1 셀 정보 출력하기 1
print(ws["A1"])

# "값입력하기" sheet의 A1 셀 정보 출력하기 2
print(ws.cell(row = 1, column = 1))

# "값입력하기" sheet의 A2 셀의 값 출력하기 1
print(ws["A1"].value)

# "값입력하기" sheet의 A2 셀의 값 출력하기 2
print(ws.cell(row = 1, column = 1).value)

 

만약, 값이 없는 셀의 값에 대한 

출력을 요청한다면, 어떻게 될까요?

print(ws["A10"].value)
print(ws.cell(row = 10, column = 1).value)

None 이 출력됨을 알 수 있습니다.

 

셀의 주소를 입력하는 방법보다

셀을 행렬로 인식하여 입력하는 방법을 

더 선호하는데요.

 

이는 셀의 위치가 숫자로만 

되어 있기 때문에, 

반복문 등 반복된 자료에 대한 

접근 및 처리가 용이하기 때문입니다.

 

반복문을 활용한 값 입력하기

## 반복문을 활용하여 셀에 값 입력하기
for i in range(20, 30 + 1):
    for j in range(1, 10 + 1):
        ws.cell(row = i, column = j, value = i + j)

출력 형태가 어떻게 될까요?

한번 생각해 보신 후에,

확인해 보세요.

 

이 모든 과정을 한 번에 수행하여

엑셀 파일을 확인해 보시기 바랍니다.

 

import openpyxl as xls

# 신규 엑셀 워크북 생성
wb = xls.Workbook()

# 활성화되어 있는 시트 가져오기
ws = wb.active

# 시트명 삽입하기
ws.title = "값입력하기"

# "값입력하기" sheet의 A1 칼럼에 숫자 1 입력하기1 
ws["A1"] = 1

ws["A2"] = 2
ws["A3"] = 3

ws["B1"] = 4
ws["B2"] = 5
ws["B3"] = 6


# "값입력하기" sheet의 A4 칼럼에 숫자 1 입력하기2
ws.cell(row = 4, column = 1, value = 7)

ws.cell(row = 4, column = 2, value = 8)

# "값입력하기" sheet의 A1 셀 정보 출력하기1
print(ws["A1"])

# "값입력하기" sheet의 A1 셀 정보 출력하기2
print(ws.cell(row = 1, column = 1))

# "값입력하기" sheet의 A2 셀의 값 출력하기1
print(ws["A1"].value)

# "값입력하기" sheet의 A2 셀의 값 출력하기2
print(ws.cell(row = 1, column = 1).value)

print(ws["A10"].value)
print(ws.cell(row = 10, column = 1).value)

## 반복문을 활용하여 셀에 값 입력하기
for i in range(20, 30 + 1):
    for j in range(1, 10 + 1):
        ws.cell(row = i, column = j, value = i + j)

wb.save("C:/RPA/excel_test5.xlsx")
wb.close()

 

 

반응형

댓글