분류 전체보기 139

[BeautifulSoup] 웹 스크래핑 (WEB Scraping) 환경 설정 및 기초

웹 스크래핑을 위해서 아래 패키지 설치 Termanal> pip install requests Termanal> pip install beautifulsoup4 Termanal> pip install lxml beautifulsoup4 document : https://www.crummy.com/software/BeautifulSoup/bs4/doc.ko/ 쇼핑몰에서 노트북으로 검색하여 출력되는 정보 (제품명, 가격, 평점, 리뷰수, 링크) 가져오기 import requests import re from bs4 import BeautifulSoup # user-agent가 headless로 요청되기 때문에 HEADERS의 User-Agent를 변경 # Accept-Language는 구글 같은 다국어 지원..

RPA/Python 2021.05.12

[python] 부모 폴더, 형제 폴더, 자식 폴더 내 패키지 import

폴더 구조 root -main.py -mainLib.py -myLib --log_process.py --test.py -project --projectLib ---userAgent.py --sub.py 1. 같은 폴더 내 패키지 import myLib/test.py 에서 myLib/log_process.py를 import 할 때 import log_process 2. 자식 폴더 내 패키지 import main.py 에서 myLib/log_process.py를 import 할 때 from myLib import log_process 3. 형제 폴더 내 패키지 project/sub.py 에서 myLib/log_process.py를 import 할 때 import sys, os sys.path.append(o..

Python/ETC 2021.05.12

[python] 간단한 정규식 표현

ca?e에 해당하는 단어 찾기 (care, cafe, case, cave.....) ^ : 문자열의 시작 (^de : desk, destination ...) . : 하나의 문자 (ca.e : care, cafe, case, cave.....) $ : 문자열의 끝 (se$ : case, base ...) import re # . : 하나의 문자를 의미 p = re.compile('ca.e') # case가 위에서 정의한 p와 매치 되기 때문에 case 출력 m = p.match('case') print(m.group()) # caffe는 매치되지 않아서 에러 발생 m = p.match('caffe') print(m.group()) # 매치되지 않을 경우 에러 처리 m = p.match('caffe') i..

Python/ETC 2021.05.12

[openpyxl, python-pptx] 엑셀 주소록 읽어 파워포인트로 명찰 만들기

회사 주최 세미나가 열린다. 참석자는 20명이며 리스트는 엑셀 데이터로 가지고 있다. 참석자 명찰을 파워포인트로 만들어 출력해야한다. Power Automate Desktop 버전은 아래 링크에서 확인 가능합니다. https://ggondae.tistory.com/105 [Power Automate Desktop] 엑셀 주소록 읽어 파워포인트로 명찰 만들기 엑셀에 있는 주소록 데이터를 읽어 명찰 폼이 있는 파워포인트 슬라이드를 추가하면서 넣는 플로어를 만들어보겠습니다. python으로 구현한 내용은 아래 링크에서 확인하세요. https://ggondae.tistory. ggondae.tistory.com 1. 참석자 엑셀 데이터 만들기 전산팀에 요청하여 온라인으로 받은 참석자 정보를 엑셀로 받았다. (주..

RPA/Python 2021.05.09

[python-pptx] 특정 슬라이드를 하나의 파일로 만들기

참고 및 인용 : https://stackoverflow.com/questions/50866634/python-pptx-copy-slide from pptx import Presentation prs = Presentation('test.pptx') # 대상 슬라이드 번호 (2번째 슬라이드) slidetokeep = 1 # 슬라이드 삭제 함수 def delete_slide(prs, slide): id_dict = { slide.id: [i, slide.rId] for i,slide in enumerate(prs.slides._sldIdLst) } slide_id = slide.slide_id prs.part.drop_rel(id_dict[slide_id][1]) del prs.slides._sldIdLs..

RPA/Python 2021.05.09

[python-pptx] 슬라이드 복사

아래 소스는 하나의 슬라이드가 있는 ppt 파일을 불러와 하나의 슬라이드만 복사하는 내용이다. 소스가 되는 슬라이드는 source_slide = prs.slides[0]에서 조정하면 된다. 참고 및 인용 : https://stackoverflow.com/questions/50866634/python-pptx-copy-slide from pptx import Presentation import copy prs = Presentation('test.pptx') # 첫번째 슬라이드 가져오기 source_slide = prs.slides[0] # 새로 추가할 슬라이드 레이아웃 정의 (6 : 빈 페이지) slide_layout = prs.slide_layouts[6] # 새로운 슬라이드 추가 copy_slide ..

RPA/Python 2021.05.09

[python-pptx] 텍스트 박스에 글자 입력

전시회 참석자의 명찰을 파워포인트를 이용해서 만들려고 한다. 아래 구문은 기본 내용이고 확장은 텍스트 상자 입력 부분을 함수로 만들고 회사명/이름 부분을 for문 등을 활용해서 추가 구현하면 된다. 1. 마스터 슬라이드 생성 슬라이드에 직사각형 도형을 넣고 그 위에 텍스트 상자 2개를 위치하여 하나는 회사명, 나머지 하나는 참석자 이름을 입력 2. 우측상단 메뉴 "편집 > 선택 > 선택창" 클릭 3. 우측 선택창에서 회사명 텍스트 상자는 "comp", 이름 텍스트 상자는 "name"으로 변경 후 파일 저장 4. 실행 소스 from pptx import Presentation from pptx.enum.text import PP_ALIGN from pptx.util import Pt # from pptx...

RPA/Python 2021.05.08

[python-pptx] 도형 객체 삽입

from pptx import Presentation from pptx.util import Inches from pptx.enum.shapes import MSO_SHAPE # MSO_SHAPE_TYPE의 Alias from pptx.enum.dml import MSO_THEME_COLOR # MSO_THEME_COLOR_INDEX의 Alias prs = Presentation() slide_layout = prs.slide_layouts[6] slide = prs.slides.add_slide(slide_layout) # 첫번째 도형 위치 및 크기 left = top = height = width = Inches(1) # 첫번째 모서리가 둥근 사각형 도형 생성 # 도형값 : https://python..

RPA/Python 2021.05.08

[python-pptx] 슬라이드에 이미지 삽입

from pptx import Presentation from pptx.util import Inches prs = Presentation() # 빈 레이아웃 slide_layout = prs.slide_layouts[6] slide = prs.slides.add_slide(slide_layout) left = Inches(1) # x좌표 top = Inches(1) # y좌표 width = Inches(5) # 이미지 가로 길이 height = Inches(0.5) # 이미지 세로 길이 # 이미지 삽입 pic = slide.shapes.add_picture('img.png', left, top, width, height) prs.save('demo.pptx')

RPA/Python 2021.05.08
반응형