안녕하세요? 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..
Intermediate Python Nanodegree 두 달 듣는데 239,275원으로 결제했고, 일주일 남기고 수료했네요. Certification 받는 데 신분증을 인증해야 한다는 사실이 놀라웠습니다... 혹시나 이 강의를 들으려고 고민하다가 이 글에 오게 되신 분들이 계실수도 있으니, 정확한 전달을 위해 제 수준부터 말씀을 드리겠습니다. 제 수준 소개 저는 화학공학을 전공하여 화학회사에 다니고 있으며, 취미로 파이썬을 2018년도부터 시작, 2018~2019년도에 인터넷에서 파이썬 기초 강의를 듣고는 이후로 최근까지 딱히 그렇다 할 파이썬 중급 강의는 들은 적이 없었습니다. Udemy에서 백엔드와 데이터 사이언스 강의를 들어서 이것저것 해보았으나 파이썬에 대해 깊이가 전혀 없는 상태에서 학습을 했..
[스터디 노트] Udacity - Intermediate Python Nanodegree 2. Advanced Python Techniques Lesson 2. Representing Data Representing Data 어떻게 데이터를 표시할지에 대한 고민이 필요함. Variables and Namespaces 복사하면 객체를 복사하는 것이 아니라 Namespace 안에서 Reference를 추가하는 것. == : comparing value is : comparing identity # == : comparing value # is : comparing identity print(1 == 1.0) # True print(1 is 1.0) # False print(id(1)) print(id(1.0..
In [178]: # 시퀀스형 In [179]: # 컨테이너(Containd -> 서로 다른 자료형을 담을 수 있음: list, tuple, collections.deque) # a = [3, 3.0, 'a'] # 플랫(Flat : 한개의 자료형[str, bytes, bytearray, array.array, memoryview]) #가변형 : List, bytearray, array.array, memoryview, deque #불변(tuple, str, byte) In [180]: # 지능형 리스트 Comprehending List chars = '+_)(*&^%$#@!~)' chars[2] = 'h' #불변형이라 못바꿈 --------------------------------------------..
In [80]: # Special Method(Magic Method) # 파이썬의 핵심 # 시퀀스, 반복, 함수, 클래스 In [81]: print(int) In [82]: print(float) In [83]: # 모든 속성 및 메소드 출력 print(dir(int)) print(dir(float)) ['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getnew..
In [1]: # 클래스 구조 class Car(): """ Car class Author : Kim Date : 2021.04.25 """ # 클래스 변수(모든 인스턴스가 공유) car_count = 0 def __init__(self, company, details): self._company = company self._details = details Car.car_count += 1 def __str__(self): return 'str : {} - {}'.format(self._company, self._details) def __repr__(self): return 'repr : {} - {}'.format(self._company, self._details) def __del__(self):..
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.