Day_2 06. Python data handling

작성일

1 분 소요

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의 활용법을 찾아 사용

댓글남기기