안녕하세요? 2편이 많이 늦었네요. 1편에 이어 일부 기능을 업데이트하고 조금 더 완성도 있는 프로그램으로 만들고자 합니다. 게시물 작성 이후 추가 업데이트된 코드는 github를 참조해주세요. https://github.com/kminito/srt_reservation 1편 링크 https://kminito.tistory.com/79 1. 프로그램 구조 바꾸기 이후의 기능 추가를 편리하게 하도록 하기 위하여 1편의 프로그램을 함수를 사용하는 형태로 바꾸겠습니다. 주석을 최소화하여 1편을 기준으로 수정된 부분 위주로 주석을 남기겠습니다. 각 코드의 기능에 대한 설명은 1편을 참조해주세요. # -*- coding: utf-8 -*- import time from random import randint fr..
Even though source code made by SAP GUI Scripting (Recording) is .vbs file, it is not executed on excel VBA directly. If copy and past code from the .vbs file and run it, you can see below error message. Compile Error Invalid Use of property Problematic part of the code is below. This is very beginning part of code which is from SAP Scripting. The error occurs because the variable 'application' ..
I use OpenPyXl for handling excel in python, but it doesn't support handlling hyperlinks of images and shapes. In that case, we need to use COM (Component Object Model) to handle excel program directly and use other functions available in excel itself. Sample : test1.xlsx file with two images. Code 1 import os import win32com.client excel = win32com.client.Dispatch("Excel.Application") # excel.V..
안녕하세요? 과거에 처음 코딩을 배우던 시절 짠 허접한 SRT 매진 표 예매 게시물을 올렸었는데요, 이번에 코드를 새로 짜는 김에 파이썬 초보분들에게 도움이 될 수 있도록 어떤 식으로 접근하였는지 처음부터 설명하고자 합니다. 이 게시물에서는 파이썬을 이용하여 SRT 표 검색 및 자동 예매, 매진 표 예매를 위한 자동 새로고침에 대한 코드를 다룰 것입니다. 이후 게시물에서는 기차 조건 선택이나 예약 대기, 텔레그램 알람 등의 추가 기능을 구현하고, 더 완성된 프로그램의 형태로 만드는 과정을 공유하고자 합니다. SRT 매진 표 자동 예매 시도 1. 개요 1-1. 목표 과거 처음 파이썬을 배우던 시절에 만들었던 부끄럽고 비효율적인 코드를 새롭게 작성하며, 파이썬을 통한 기차 예매 자동화나 업무 자동화에 관심이..
웹드라이버는 프로그래밍 언어를 이용하여 웹브라우저를 직접적으로 조작할 수 있도록 해 주는 툴입니다. 여기서는 Chrome의 Webdriver인 Chromedriver를 다운 받는 법을 알아봅니다. 1. Chrome 설치하기 (없을 경우) 크롬이 없다면 크롬을 설치합니다. 크롬 다운로드 페이지 : https://www.google.co.kr/chrome Chrome 웹브라우저 더욱 스마트해진 Google로 더 간편하고 안전하고 빠르게. www.google.com 2. Chromedriver 다운받기 2-1. 설치된 크롬 버전 확인하기 크롬드라이버는 설치되어 있는 크롬과 맞는 버전을 다운받아야 정상적으로 작동이 됩니다. 현재 설치된 크롬의 버전을 확인하기 위하여 1) 크롬 실행 후 2) 브라우저 오른쪽 상단..
안녕하세요? 인터넷에 PyRFC를 이용하여 SAP를 이용하는 방법에 대한 예제 코드가 거의 전무하다시피하여, 일부 공유하고자 합니다. 저는 영업직이라 SAP에서 재고, 출하 내역, 판매 실적 확인 등의 일부 기능만 사용하고 SAP에 대한 이해도 깊지 못합니다. 제가 아는 선에서 설명하였으므로 혹시 잘못된 내용이 있으면 알려주세요. 여기서는 파이썬을 이용하여 SAP R/3의 데이터 테이블에 접근합니다. GUI Scripting을 이용하는 것 보다 PyRFC를 이용하는 것이 훨씬 더 빠르고 편리합니다. 물론 처음 사용하는 게 좀 어렵고 까다롭지만요.. 1. 기본 정보 1) SAP 테이블에 대하여 SAP에서 Transaction을 하는 것은 기본적으로 SAP 데이터베이스의 테이블에 쿼리를 날려 데이터를 가지고..
안녕하세요? 판다스에서 피벗테이블을 만들면, multi-index로 인해서 다른 데이터 프레임과 값을 비교하거나 연산을 하기에 불편합니다. 이럴 때는 목적에 맞게 피벗 테이블을 일반 데이터프레임으로 바꾸어 주는 게 편합니다. reset_index 메서드를 이용하면 간단히 할 수 있습니다. 코드 df.reset_index(inplace=True) inplace 파라메터를 True로 주시면 피벗테이블에 바로 적용됩니다. 방법 아래와 같이 피벗 테이블을 준비한 후 reset_index 메서드를 사용하면 됩니다. 끝. 엑셀에서 피벗 테이블을 만든 후 다른 데이터와 값을 비교하거나 연산 할 때는 그냥 값을 복사하여 사용하면 되는데, 판다스에서는 그게 번거롭습니다. 여러가지 방법을 생각해봤는데, 피벗테이블(혹은 g..
안녕하세요. 업무용으로 아웃룩을 쓰고 계시는 분들 많으시죠. 일을 하다 보면 메일이 잔뜩 쌓이고, 또 여러 메일에 들어있는 여러 첨부 파일들을 다 다운받아야 할 때도 있습니다. 예전 같았으면 메일을 하나하나 열어서 다운받아야 했을텐데, 우리에게는 VBA가 있어서 한번에 다운받을 수가 있습니다. 아래 코드는 아웃룩에서 "계정이름" 아래에 있는 "폴더이름"의 모든 메일에 대하여 첨부파일을 확인하여 확장자가 pdf면 다운받아서 "C:\Temp\"에 저장하는 코드입니다. 이름이 중복되는 파일도 모두 받기 위하여 파일 이름 앞에 "YYYYMMDD_HHNN"을 추가하여 저장하도록 했습니다. 전체 코드 Sub SaveAttachments() Dim olApp As Object Dim olNS As Object Dim..
마크다운 들여쓰기 사용하기 마크다운은 기본적으로 들여쓰기를 지원하지 않습니다. 다만 마크다운 내부에서 HTML을 허용하고 있으므로, 공백 문자인 ' '를 문단의 시작에 입력함으로써 들여쓰기를 적용할 수 있습니다. 예시 즐거운 편지 / 황동규 내 그대를 생각함은 항상 그대가 앉아 있는 배경에서 해가 지고 바람이 부는 일처럼 사소한 일일 것이나 언젠가 그대가 한없이 괴로움 속을 헤매일 때에 오랫동안 전해 오던 그 사소함으로 그대를 불러 보리라. 진실로 진실로 내가 그대를 사랑하는 까닭은 내 나의 사랑을 한없이 잇닿은 그 기다림으로 바꾸어 버린 데 있었다. 밤이 들면서 골짜기엔 눈이 퍼붓기 시작했다. 내 사랑도 어디쯤에선 반드시 그칠 것을 믿는다. 다만 그 때 내 기다림의 자세를 생각하는 것뿐이다. 그 동안에..
SGS에서 레포트를 받으면 모든 파일명이 SGS의 내부 식별 번호로 되어 있습니다. 저희는 보통 한 분기에 약 200개 이상의 성적서를 받다 보니, 이것들을 시료 이름과 시험 내용에 따라 일일이 분류하는 것이 여간 귀찮은 작업이 아닌데요. 이때 우리의 파이썬을 써먹으면 매우 편리합니다. 아래와 같이 SGS 번호로 된 PDF 파일명을 모두 내용에 따라서 시험 이름 및 시료 이름으로 변경하는 것입니다. 아래는 PDF 파일을 실행한 모습인데, Product Name이라고 적혀있는 내용을 자동으로 파일명에 들어가게 하고자 합니다. 순서는 간단합니다. (1) PDF의 내용을 읽는다 (2) 시험 방법과 시료 이름을 찾는다 (3) 이름을 변경한다 이번 게시물에서는 코드만 간단히 보여드리는 게 아니라, 처음 시작부터 ..
엑셀에서 표, 특히 피벗테이블을 아웃룩에 복사 및 붙여넣기하면 숫자 앞에 공백(스페이스바)이 생기는 문제가 있습니다. 실제로 존재하는 공백이기 때문에 아웃룩에서 표 크기를 내용에 맞추려고 한다거나, 왼쪽 정렬할 때 제대로 되지 않는 문제가 있습니다. 정렬이 되지 않고, 메일을 발송했을 때 줄이 맞지 않습니다. 표 크기 조작 또한 잘 안됩니다. 과거에는 일일이 스페이스바를 지워주는 방식으로 업무를 했는데요, 더 간단한 방법이 있습니다. 이번에는 엑셀에서 아웃룩으로 붙여넣을 때 공백이 생기지 않도록 하는 방법을 알려드리겠습니다. 1. 예시 이렇게 자동으로 오른쪽 정렬되어 있는 피벗테이블을 복사해서 아웃룩에 붙여넣으면 아래와 같이 모든 숫자 앞에 공백이 들어갑니다. 복사 전 엑셀 아웃룩에 붙여넣을 경우 2. ..
개요 가끔 티스토리 게시물 중 삽입된 사진이 없으면 마땅한 썸네일이 없는 경우가 있습니다. 파이썬으로 아래와 같은 썸네일을 간단히 만드는 코드를 작성하여, 앞으로 이용해보고자 합니다. 이미지 프로세스에 매우 많이 사용하는 Pillow 라이브러리를 이용하여 간단히 작업을 진행할 수 있습니다. 준비물 : - Pillow (없다면 커맨드 라인에서 'pip install Pillow' 로 설치) - 폰트 : 네이버 나눔 스퀘어 hangeul.naver.com/2017/nanum) (다른 거 써도 상관 없음) 코드1 # coding: utf-8 from PIL import Image, ImageDraw, ImageFont import textwrap astr = "티스토리 썸네일 이미지 만들기" para = te..