이번 포스팅에서는 파이썬을 활용해서
엑셀 시트에 값을 입력하는 방법에 대해서
알아보겠습니다.
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 칼럼(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()
반응형
'Python > openpyxl' 카테고리의 다른 글
파이썬을 활용한 엑셀 행 & 열 삽입 및 삭제하기 (2) | 2022.07.10 |
---|---|
파이썬을 활용한 엑셀 셀 영역 다루기1 (0) | 2022.07.10 |
파이썬을 활용한 원하는 위치의 엑셀 데이터 출력하기 (0) | 2022.07.09 |
파이썬을 활용한 엑셀 시트 다루기 (0) | 2022.07.09 |
파이썬을 활용한 엑셀 파일 생성하기 (0) | 2022.07.08 |
댓글