ProgrammingLang/python 24

[python] 21. 날짜 다루기, 프로세스(subprocess) 실행

[python] 21. 날짜 다루기, 프로세스(subprocess) 실행 1. 날짜 다루기 - 컴퓨터에서 날짜는 숫자 취급한다. - 1970.1.1 를 기준시(epoch)로 초단위로 흐른 시간을 표시한다. 1) time 모듈 - 절대시간(epoch 타임)을 다루는 모듈 (1) time.time() - 1970.01.01.00:00:00 epoch time stamp - epoch 부터 경과시간을 수자(float 타입)로 표시, 즉 소수점으로 표시한다. Ex) now = time.time() # 현재 시간 time.ctime(now) # time.localtime(time) # 컴퓨터의 시계에서 현지 시간을 가져온다. time.gmtime(now) # 국제 표준시(그리니치 천문대를 기준으로 한시간) (2)..

[python] 20. scraper

[python] 20. scraper 1. 웹 scraper - 도메인 이름을 받고 HTML 데이터를 가져옴 - 데이터를 파싱해 원하는 정보를 얻음 - 원하는 정보를 저장함 - 필요하다면 다른 페이지에서도 이 작업을 반복함 2. 필요한 모듈(모두 Third party 모둘) - requests - BeautifulSoup4 (핵심) - lxml > HTML 파싱능력이 뛰어남 3. BeautifulSoup4 - HTML(XML)을 파싱하게 좋게 파이썬 객체로 돌려준다. - 잘못된 HTML 을 수정하여 반환해준다. 1) 설치 - pip install beautifulsoup4 2) import 방법 - from bs4 import BeautifulSoup 3) 사용법 (1) soup 객체 얻는 방법 - 아래..

[python] 19. python Open API 와 JSON

[python] 19. python Open API 와 JSON 1. Open API(Application Programming Interface) - 여러 애플리케이션 사이에서 간편한 인터페이스 2. Open API - 주로 웹 API또는 API라고 함 - HTTP를 통해 데이터를 요청하며 주로 XML 이나 JSON 형식으로 응답 - 최근에는 JSON 방식의 응답을 하는 API가 빠르게 늘어나고 있음 - 유용한 형식으로 정리된 데이터를 제공 받을 수 있음 3. API의 동작 방식 - 브라우저에서 API요청 > http://api.github.com/ > JSON으로 응답이 옵니다.4. JSON 요청 및 처리 1) Requests 모듈 - GET 요청 - HTTP 요청 클라이언트 모듈 - Python 내..

[python] 18. CSV 파일 다루기

[python] 18. CSV 파일 다루기 1. CSV 이란? - 구조화된 텍스트 파일 - comma seperate value의 약어 이다. - 값의 구분이 탭"\t", 콤마",", 수직바"|"와같은 문자를 구분자로 사용한다. 2. 구조화된 텍스트 파일의 종류 1) JSON 파일 2) XML 파일 3) HTML 파일 4) YAML 5) CSV 3. CSV 특징 1) 콤마로 구분된다. 2) 줄바꿈 문자가 운영체제 마다 다르다. - Linux/Max : \n - window : \r\n 3) 컬럼 이름이 첫번째 라인에 온다. 4. python 에서 CSV 다루는 방법 1) CSV 를 list로 변환하여 다룬다. 2) CSV 를 Dictionary로 변환하여 다룬다. 5. 필요 모듈 - CSV 모듈 필요 -..

[python] 17. python으로 엑셀 다루기

[python] 17. python으로 엑셀 다루기 1. 엑셀의 구조 1) workbook - 엑셀 파일을 의미 2) worksheet - 엑셀의 sheet를 의미한다. 3) cell - 엑셀 sheet의 셀 하나 하나를 의미한다.2. 엑셀관련 모듈 - 엑셀 관련 모듈은 여러개가 있다. 1) xlwt 2) OpenPyXL(이게 가장좋음) - http://openpyxl.readthedocs.org - 문서화가 제일 잘되어 있다 (1) 지원 기능 - 로컬에 엑셀 프로그램이 설치되어 있지 않아도 엑셀 파일 생성과 일기가 가능 - 대요량 지원, 이미지원 등 3) XlsxWriter 4) PyExcelerate 3. OpenPyXL 설치 1) 설치 - pip install openpyxl 4. OpenPyXL ..

[python] 16. class 와 객체

[python] 16. class 와 객체 1. 객체지향 프로그램이란?? - 프로그래밍 패러다임이다. - 프로그램을 모두 객체 단위로 만들고, 객체 관계로 설계, 객체간 서로 상호작용을 통해 프로그램을 동작하게 하는 것이 객체지향 프로그램이다. 2. class의 구조? - 멤버 변수와 method 으로 구성 된다 * 멤버 변수를 attribue, 또는filed라고도 부른다. * method를 함수라고도 부른다. - 특히, method는 멤버 변수를 다루는 method만 정의 되어야 한다. 2. 클래스의 문법 1) class의 문법 - class 키워드로 시작됨 - class 키워드 다음에 class 이름이 위치 - class 이름위에 ()괄호 속에 상속된 클래스 이름이 위치 2) class의 특징 - p..

[python] 15. 예외처리와 로깅

[python] 15. 예외처리와 로깅 1. 예외 처리 - 에러가 발생하는 가능성이 있는 코드를 사전에 처리해주는 방법 1) try ~ except 구문 - 에러 발생시 except부를 실행 시킨다. - except 뒤에 에러 타입이 없으면 모든 에러가 다 걸린다. 2) except Error type - python은 기본적으로 60여개 이상의 예외가 있음(다음은 대표적인 것들이다) - 다음은 에러 예제이다. 3) 에러정보 출력 방법 - 에러타입에 as 를 써서 에러 메시지를 볼 수 있다. 4) 새로운 예외 타입 정의 방법 - 새로운 예외 타입을 만들기 위해서는 class 객체 타입을 정의해아함 - Exception 을 상속 받아서 사용한다. 5) 명시적으로 예외 발생 시키 - raise 을 이용한다...

[python] 14. 파일과 디렉터리 다루기 및 zip모듈

[python] 14. 파일과 디렉터리 다루기 및 zip모듈 1. pickle 모듈 - 메모리에 있는 데이터 구조를 그대로 파일에 쓰는 방법을 제공한다. - 리스트나 클래스를 파일에 바로 저장하는 것을 Object Srialize라고 한다. - 작업한 내용을 저장할 때 사용 할 수 있다. - open 모드를 'wb' 로하고 pickle.dump()함수를 이용하여 파일에 쓴다. 2. shutil(Shell utils) 모듈 - 파일이나 디렉터리를 복사, 이동, rename, 삭제를 수행하는 모듈 1) 복사 - shutil.copy(source, destination) 2) 이동 - shutil.move(source, destination)- destination의 파일이 존재하면 move가 안된다. 3) ..

[python] 13. 파일 다루기

[python] 13. 파일 다루기 1. 파일을 다루는 방법 - os 모듈을 이용하여 파일을 다룬다 - os 모듈에서는 디렉토리와 파일을 다룰수 있다. - 디렉토리의 이동, 생성, 삭제 - 파일 생성, 쓰기 , 읽기 2. 경로 만들기 - os.path.join() 함수 사용 >>> os.path.join('user', 'bin', 'spam') 'user\\bin\\span' 3. glob 모듈 (ls와 동일) - glob 모듈이 필요 - glob.glob('*') 현재 디렉토리의 모든 파일을 리스트로 반환 >> import glob >> glob.glob('*') ['address_book.py', 'email', 'main.py'] 4. 작업 디렉토리 관련 함수 1) os.getcwd() - 현재 작..

[python] 12. 정규 표현식 2 - search(), findall

[python] 12. 정규 표현식 2 - search(), findall 1. seach()를 이용한 정규 표현식 활용 1) 매칭되는 첫번째 패턴을 반환한다. (1) 정규 표현식으로 패턴을 생성한다 (2) 패턴에 맞는 문자열을 찾는다 (3) 매칭된 문자열을 확인한다. 매칭된 문자열은 mo(maching object)에 담긴다. (4) group()함수로 매칭된 문자를 본다. 2) 정규 표현식 그룹핑 - 매칭된 데이터가 전부 넘어오 오거나, 그룹으로 나눠서 넘어온다. - group() 함수를 통해서, 전체가 넘어온다. - group(0) 함수를 통해서, 전체가 넘어온다. - group(1) 함수를 통해서, 첫 번째 그룹을 넘겨준다. - group(2) 함수를 통해서, 두 번째 그룹을 넘겨준다. - gro..