지금 방법은 파일을 불러와서 동작하는 방법입니다. 동작 전 Xlsx 파일을 미리 준비 해야 합니다.
파일을 최초로 생성하기 위한 방법은 다음 링크를 참조 하세요.
[ Python ] Excel 파일에 데이터 기록하기
python 에서 Excel 파일로 데이터를 내보내는 방법은 굉장히 쉬운 편입니다. VSCode 기준 Excel 파일 생성에 필수적인 코드는 다음과 같습니다. from openpyxl import Workbook T_workbook = Workbook() T_workshe..
smart-west.tistory.com
데이터를 불러오는데 필수적인 항목은 다음과 같습니다. 여기서 data_only 는 현재 보이는 상태로 불러오는 옵션입니다. 나중에 수식이 아닌 수식위치의 값이 오는 것을 확인 할 수 있습니다.
from openpyxl import load_workbook
T_workbook = load_workbook("폴더\\sample.xlsx" , data_only=True )
T_worksheet = T_workbook.active
해당 코드를 동작하기 전에 자동화로 생성 된 문서인 경우엔 excel에서 한번 열고 저장하고 닫아야 합니다.
문서를 불러도 별다른 동작을 하지 않는경우엔 프로그램이 조용히 종료되게 됩니다.(화면상 아무런 변화를 알 수 없습니다.)
내가 문서를정상적으로 불러왔는지 확인을 위해서 print()함수를 이용해 주려 합니다.
for row in T_worksheet.values:
for cell in row:
print(cell)
하단에 결과를 확인하면 다음과 같이 나타납니다.
None는 데이터가 없는 빈칸을 의미 합니다. 만약 해당 값이 의미 없는 분은 예외처리 해주시면 됩니다.
for row in T_worksheet.values:
for cell in row:
if cell == None :
continue
else:
print(cell)
다음 코드를 진행하면 다음과 같이 필요한 내용만 나타납니다.
이제 정상적으로 표시 되었으므로 수정 밑 재저장 작업을 하면 내용이 추가 됩니다.
기존 내용을 조금씩 변경 후 저장해보겠습니다.
T_worksheet["B2"] = "bb"
T_worksheet["C3"] = 55
T_worksheet["D4"] = 66
T_workbook.save("폴더\\sample.xlsx")
코린이를 위한 전체 동작 코드는 다음과 같습니다.
from openpyxl import load_workbook
T_workbook = load_workbook("폴더\\sample.xlsx" , data_only=True )
T_worksheet = T_workbook.active
for row in T_worksheet.values:
for cell in row:
if cell == None :
continue
else:
print(cell)
T_worksheet["B2"] = "bb"
T_worksheet["C3"] = 55
T_worksheet["D4"] = 66
T_workbook.save("폴더\\sample.xlsx")
값을 넣고 저장 후 다시 sample.xlsx 문서를 열어 봅니다.
다른 값은 정상적으로 변경 되었으나, 수식값은 기존 수식이 아닌 숫자값으로 변경되어 유지 되는 것을 확인 할 수 있습니다.
만약 수식이 유지되길 원하시는 경우 data_only=True 를 제거 해주시면 됩니다.
단순 글자 추가가 아닌 이미지 추가도 쉽게 가능합니다.
from openpyxl.drawing.image import Image
img= Image("폴더\\AA.png")
T_worksheet.add_image(img, "F6")
T_workbook.save("폴더\\sample.xlsx")
혹시 오류가 나는 경우엔 Pillow 를 설치해줘야 합니다.
pip install Pillow
정상적으로 진행 되었다면 이미지가 삽입 된 것을 확인 할 수 있습니다.
'RPA 만들기 - 함수 사용법' 카테고리의 다른 글
[ Python ] 메모장 핸들/크기/세부 개체 구하기 (0) | 2020.12.13 |
---|---|
[ Python ] GUI 자동화 - 해상도, 마우스, 핸들 구하기 (0) | 2020.12.13 |
[ Python ] Excel 파일에 데이터 기록하기(신규 xlsx 파일 생성) (0) | 2020.12.12 |
[ Autoit ] Array ( 배열 ) push 하기 (0) | 2020.11.23 |
[ Autoit ] Array ( 배열 ) 검색하기 (0) | 2020.11.19 |