Python 244

[ Python ] socket 모듈을 이용한 Port open / close check

import socket from datetime import datetime import time checkTime = str(datetime.today())[:19] ipadd = '127.0.0.1' # IP Address, string port = 80 # Port Number, interger sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.settimeout(5) res = sock.connect_ex((ipadd, port)) text = str(port) + ' : ' + checkTime print('Open ' + text if res == 0 else 'Close ' + text) -----------------------..

[ Python ] pandas DataFrame을 HTML 형식으로 export 하기. (모니터링 활용)

pandas의 to_html 메소드를 이용하여 DataFrame 결과를 HTML 형식으로 output kor, math, eng 3개 컬럼의 기본 DataFrame 만들기 kor = [99, 53, 56, 56, 81, 90, 67, 68, 83, 55] math = [91, 77, 59, 70, 100, 67, 89, 55, 93, 99] eng = [96, 92, 92, 65, 51, 92, 55, 60, 54, 51] import pandas as pd df = pd.DataFrame(zip(kor,math,eng), columns=['kor','math','eng']) df html = df.to_html() print(html) kor math eng 0 99 91 96 1 53 77 92 2 ..

[ Python ] csv 파일 읽고, 쓰기 ( pandas / csv 모듈 )

데이터를 처리하다 보면 csv 파일 자주 만나게 되는데, Python pandas와 csv 모듈로 처리할 수 있다. 파이썬 pandas csv 파일 읽고, 쓰기 샘플데이터 : example.csv (UTF-8) ============================= "Student","Math","Computer","English" "인호",90,85,100 "철수",85,100,95 "영희",75,70,85 "민수",95,85,90 "지훈",100,85,95 "지영",90,85,90 "정희",95,85,95 ============================= pandas의 read_csv 메소드로 csv 파일 읽기 import pandas as pd df = pd.read_csv(r'C:\Python\..

[ Python ] 리눅스 mpstat 유틸을 이용한 CPU Core별 통계 뽑기. (평균값, 최대값, 최소값)

Datebase CPU Core 증설작업 후 Core별로 CPU가 모두 활동하는지 확인해볼 필요가 생겼다. 리눅스의 mpstat는 Core 별 사용량을 모니터링할 수 있다. 결과를 파일로 export 하고, Python을 하여 DataFrame화 하려 한다. DataFrame 하게 되면 DB, NoSQL 등에 저장하여 통계적으로 활용할 수 있겠다. 목표 : 리눅스의 mpstat 유틸과 python을 이용하여 Core 별 통계 추출 mpstat 명령어를 이용한 데이터 수집 ( 파일 리다이랙션 ) # 1초간격으로 모든 CPU Core 사용량을 추출 (리눅스 명령) # Output File : cpu_result_final.txt mpstat -P ALL 1 >> cpu_result_final.txt %usr..

[ Python ] ntplib 모듈을 이용한 시간 동기화 점검

ntplib 모듈설치 pip install ntplib NTP서버와 로컬간의 offset 체크 import ntplib from time import ctime timeServer = 'time.windows.com' # NTP Server Domain Or IP c = ntplib.NTPClient() response = c.request(timeServer, version=3) print('NTP Server Time과 Local Time과 차이는 %.2f s입니다.' %response.offset) -------------------------------------------------------------------- NTP Server Time과 Local Time과 차이는 0.71 s입니다. ..

[ Python ] numpy를 이용한 1차원 배열 2 차원 배열로 변환

list 데이터를 처리하다 보면, 1차원 배열을 2차원 배열로 변경해야할 때가 있는데, numpy를 이용하면 쉽게 이용할 수 있다. reshape : 데이터를 변동시키지 않고, 새로운 배열을 만든다. import numpy as np # 3 X 10 a = [ x for x in range(30) ] a = np.array(a) a = a.reshape(10,3) # (2차원 원소수, 원소당 갯수) print(a) array([[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 9, 10, 11], [12, 13, 14], [15, 16, 17], [18, 19, 20], [21, 22, 23], [24, 25, 26], [27, 28, 29]]) # 5 X 6 a = a.reshape(..

[ Python ] 날짜형식의 문자열 타입을 datetime 타입 형식으로 변환

Database, logs 등 날짜형식 데이터를 Python으로 불러와서 처리할 때, 문자열로 저장되게 된다. Python에서 날짜 데이터를 이용하여 그래프를 그리거나 연산을 하기 위해서는 형 변환이 필요하다. datime.datetime.strptime : date 문자열을 datetime 형식으로 변환 from datetime import datetime strtype = '2018-09-15 00:01:14' print(type(strtype)) logdate = datetime.strptime(strtype, '%Y-%m-%d %H:%M:%S') print(type(logdate)) print(logdate) -------------------------------------------------..

[ Python ] xml 타입의 데이터 json 으로 변경

xmltodict 모듈설치 pip install xmltodict xml sample https://learn.microsoft.com/en-us/previous-versions/windows/desktop/ms762271(v=vs.85) Sample XML File (books.xml) Table of contents Sample XML File (books.xml) Article 10/27/2016 In this article --> The following XML file is used in various samples throughout the Microsoft XML Core Services (MSXML) SDK. Gambardella, Matthew XML Developer's Guide Co..

[ Python ] difflib 모듈 ( 문자열 비교, 유사도 )

difflib.SequenceMatcher ( 유사도 ) from difflib import SequenceMatcher def similar(a, b): return round(float(SequenceMatcher(None, a, b).ratio()),2) * 100 print(similar('서울시 강남구','서울시 영등포구 ')) ----------------------------------------------------------------------- 62.0 difflib.context_diff ( 문자열 목록 비교 ) samplefile_1.txt samplefile_2.txt 1 파이썬 2 python 3 iz 4 beautiful 1 파이선 2 python 3 is 4 beautifu..