Day_2 06. Python data handling
작성일
Python data handling
1. Comma separate values (CSV)
- CSV, 필드를 쉼표(,) 로 구분한 텍스트 파일
- 엑셀 양식의 데이터를 프로그램에 상관없이 쓰기 위한 데이터 형식이라고 생각하면 쉬움
- 탭(TSV), 빈칸(SSV) 등으로 구분해서 만들기도 함
- 통칭하여 character-sepㅁrated values (CSV) 부름
2. HTML
- World Wide Web(WWW), 줄여서 웹이라고 부름
-
우리가 늘 쓰는 인터넷 공간의 정식 명칭
- 웹 상의 정보를 구조적으로 표현하기 위한 언어
- 제목, 단락, 링크 등 요소 표시를 위해 Tag를 사용
- 모든 요소들은 꺾쇠 괄호 안에 둘러 쌓여 있음
-
Hello, World # 제목 요소, 값은 Hello, World
-
- 모든 HTML은 트리 모양의 포함관계를 가짐
-
일반적으로 웹 페이지의 HTML 소스파일은 컴퓨터가 다운로드 받은 후 웹 브라우저가 해석/표시
- 정규식 (regular expression)
- 정규 표현식, regexp 또는 regex 등으로 불림
- 복잡한 문자열 패턴을 정의하는 문자 표현 공식
- 특정한 규칙을 가진 문자열의 집합을 추출
- 문법 자체는 매우 방대, 스스로 찾아서 공부 필요
- 정규식 연습장 (https://www.regexr.com/)
- 정규식 기본문법
- 문자클래스 [a-z]
.
전체를 의미*
앞에 문자를 반복+
앞에 문자를 1회 이상 반복- {m, n} m이상 n이하 반복
?
반복 횟수가 1번|
or 의미^
not 의미
- 정규식 in 파이썬
- re 모듈을 import 하여 사용 : import re
- 함수 : search - 한 개만 찾기, findall - 전체 찾기
- 추출된 패턴은 tuple로 반환됨
3. XML (eXtensible Markup Language)
- 데이터의 구조와 의미를 설명하는 TAG(MarkUp)를 사용하여 표시하는 언어
- TAG와 TAG사이에 값이 표시되고, 구조적인 정보를 표현할 수 있음
-
HTML과 문법이 비슷, 대표적인 데이터 저장 방식
- XML Parsing in Python
- XML도 HTML과 같이 구조적 markup 언어
- 정규표현식으로 Parsing이 가능함
- 그러나 좀 더 손쉬운 도구들이 개발 되어 있음
- 가장 많이 쓰이는 parser인 beautifulsoup으로 파싱
4. JSON (JavaScript Object Notation)
- 원래 웹 언어인 Java Script의 데이터 객체 표현 방식
- 간결성으로 기계/인간이 모두 이해하기 편함
- 데이터 용량이 적고, Code로의 전환이 쉬움
-
python dictionary와 유사
- JSON in Python
- json 모듈을 사용하여 손 쉽게 파싱 및 저장 가능
- 데이터 저장 및 읽기는 dict type과 상호 호환 가능
- 웹에서 제공하는 API는 대부분 정보 교환 시 JSON 활용
- 페이스북, 트위터, Github 등 거의 모든 사이트에서 사용
- 각 사이트 마다 Developer API의 활용법을 찾아 사용
댓글남기기