업무자동화 4

[win32com] python으로 pptx 파일 다루기(2) - PPT 요소에 있는 데이터 접근하기

pptx 파일에 문자열 데이터는 text box와 table 형태로 저장될 수 있다. 두 형태 모두 비슷한 경로로 접근해 데이터를 가져올 수 있다. Textbox 글 상자에 존재하는 데이터를 읽는 방법은 textbox shape object에 접근하고 그 안에 있는 TextFrame, TextRange 순으로 접근해 Text 내용을 불러올 수 있다. TextFrame은 text 데이터, text의 양식 property, 양식을 조작할 수 있는 method를 포함하는 object이고, TextRange는 text 데이터와 그 데이터를 조작할 수 있는 method를 포함하고 있는 object이다. slide 내에 text 데이터를 가진 shape의 구조는 아래와 같이 생각할 수 있다. # pptx 파일에서 ..

[win32com] 파이썬으로 pptx 파일 다루기 (1) pptx의 원하는 위치에 접근하기

win32com은 Microsoft Windows OS가 제공하는 API이다. 이를 사용해 MS word, Power Point, Excel, Outlook 등 microsoft office의 제품들 다룰 수 있다. excel, ppt 파일을 더 쉽게 다룰 수 있도록 만들어진 여러 라이브러리들이 있지만, 환경에 따라 사용할 수 없는 라이브러리들이 있는 것 같다. python-pptx를 이용해 사내에서 업무 자동화 프로그램을 개발하려고 했으나 저장되어있는 pptx 파일을 불러오지 못하는 오류가 있어 win32com를 사용하게 되었다. PPT에 있는 데이터에 접근하기 지금까지 필요한 기능들은 pptx 파일에 저장된 데이터를 읽어 활용하는 것이라 원하는 데이터를 어떻게 받아올 수 있을지에 대한 고민을 정리한다..

[xlwings] 파이썬으로 excel 파일 다루기 (2) 여러 개의 파일과 시트 다루기

엑셀 작업을 할 때 여러 개의 파일이나 시트의 정보를 참조 및 활용해야 하는 경우가 있다. 이번 포스팅에서 새로운 시트를 만들거나 지우고, 하나의 파일에 있는 데이터를 다른 파일이나 시트에 옮기는 예시를 작성해보려고 한다. 시트 생성과 제거 workbook을 생성하고 파이썬을 통해 값과 수식을 입력해 계산한 값을 새로운 시트를 생성해 그 곳에 저장하는 예시를 작성했다. line 7은 엑셀 프로그램을 실행하고 여러 개의 엑셀 파일을 효과적으로 다룰 수 있도록 해준다. 완성된 프로세스를 실제로 사용할 때 엑셀 창을 띄우지 않고 작업을 수행할 때는 반드시 필요하다. line 9의 코드가 새로운 시트를 생성하는 코드이다. add의 argument로 after나 before로 새로 생성 될 시트의 위치를 지정해준..

[xlwings] 파이썬으로 excel 파일 다루기 (1) quick start

xlwings는 python으로 excel 파일을 생성하거나 읽고, 데이터를 불러와 python의 pandas, numpy, matplotlib 등 라이브러리의 유용한 기능을 활용한 결과물을 다시 excel 파일에 작성할 수 있도록 하는 라이브러리이다. excel을 사용하는 단순 반복 작업을 위한 스크립트 뿐만 아니라 데이터를 다루는 과정에서 결과물을 엑셀 창에 띄우는 등 활용할 수 있는 방법은 무궁무진한 라이브러리이다. excel의 VBA를 python으로 대체할 수 있는 수단으로 활용할 수도 있다. xlwings는 excel이 설치 되어있는 상태에서 사용 가능하기 때문에 실습 및 활용을 위해선 excel이 설치 된 환경에서 가능하다. 따라서 아쉽지만 colab에서는 연습이 불가능하다. 1. 설치 파이..