Python 데이터 핸들링
•
CSV, 웹, XML, JSON
◦
CSV - 파일 포맷은 어떠한 프로그래밍 언어든 데이터를 다루는 분야에서 가장 기본이 되는 타입형태입니다. 우리가 계속 써온 데이터 저장형태인 엑셀의 텍스트 데이터 형태 , 매우 중요
◦
Web - 기본적인 언어인 HTML 에 대해서 배웁니다. HTML은 웹에서 나타나는 정보의 표현 방법 중 가장 대표적인 방법 으로 거의 모든 정보를 HTML 분석으로 얻을 수가 있습니다. 다음으로 그 HTML을 분석하기 위해 대표적인 방법인 정규표현식(regex)에 대해서 배우게 됩니다. 정규표현식은 텍스트 데이터 분석에 있어 가장 대표적인 분석 방법으로, HTML외에도 다양한 유형의 텍스트에서 특정 정보를 뽑아내는데 사용
◦
XML - XML 프로그래밍 언어에서 데이터를 저장하고 불러오는 전통적인 파일포맷은 흔히 레거시 시스템 (오래전에 구축된 시스템)에서 raw파일을 저장하는 대표적인 포맷
◦
JSON - JSON은 이와 달리 모바일이 활발히 사용되면서 사용되기 시작하는 저장 포맷으로 웹에서 많이 사용되는 JavaScript의 문법을 활용하여 저장하는 포맷
CSV
Comma Separate Value
◦
CSV, 필드를 쉼표(,)로 구분한 텍스트 파일
◦
엑셀 양식의 데이터를 프로그램에 상관없이 쓰기 위한
데이터 형식이라고 생각하면 쉬움
◦
탭(TSV), 빈칸(SSV) 등으로 구분해서 만들기도 함
◦
통칭하여 character-separated values (CSV) 부름
◦
엑셀에서는 “다름 이름 저장” 기능으로 사용 가능
엑셀로 CSV 파일 만들기
1.
파일 다운로드 - https://bit.ly/2KGjLxR
2.
파일 열기
3.
파일 → 다른 이름으로 저장→ CSV(쉼표로 분리) 선택 후 → 파일명 입력
4.
엑셀 종료 후 Notepad로 파일 열어보기
*데이터가 ‘,’로 구분되어진다.
파이썬으로 CSV 파일 읽기/쓰기
◦
Text 파일형태로데이터처리예제
◦
◦
일반적textfile을처리하듯파일을읽어온후, 한줄한줄씩데이터를처리함
CSV 파일 읽기 예제
CSV 파일 쓰기 예제
CSV 객체로 CSV 처리
◦
Text 파일형태로데이터처리시문장내에들어가있는“,” 등에대해
전처리과정이필요
◦
파이썬에서는간단히CSV파일을처리하기위해csv 객체를제공함
◦
◦
예제데이터는국내주요상권의유동인구현황정보
◦
한글로되어있어한글처리가필요
csv 객체 활용
Web
•
World Wide Web(WWW), 줄여서 웹이라고 부름
•
우리가 늘 쓰는 인터넷 공간의 정식 명칭
•
팀 버너스리에 의해 1989년 처음 제안되었으며, 원래는 물리학자들간 정보 교환을 위해 사용됨
•
데이터 송수신을 위한 HTTP 프로토콜 사용, 데이터를 표시하기 위해 HTML 형식을 사용
Web은 어떻게 동작
HTML(Hyper Text Markup Language)
HTML설명
•
웹 상의 정보를 구조적으로 표현하기 위한 언어
•
제목, 단락, 링크 등 요소 표시를 위해 Tag를 사용
•
모든 요소들은 꺾쇠 괄호 안에 둘러 쌓여 있음
<title> Hello, World </title> #제목 요소, 값은 Hello, World
•
모든 HTML은 트리 모양의 포함관계를 가짐
•
일반적으로 웹 페이지의 HTML 소스파일은
컴퓨터가 다운로드 받은 후 웹 브라우저가 해석/표시
HTML구조
정규식 (regular expression)
•
정규 표현식, regexp 또는 regex 등으로 불림
•
복잡한 문자열 패턴을 정의하는 문자 표현 공식
•
특정한 규칙을 가진 문자열의 집합을 추출
정규식 for HTML Parsing
•
문법 자체는 매우 방대, 스스로 찾아서 하는 공부 필요
•
필요한 것들은 인터넷 검색을 통해 찾을 수 있음
•
기본적인 것을 공부 한 후 넓게 적용하는 것이 중요
XML
•
데이터의 구조와 의미를 설명하는
TAG(MarkUp)를 사용하여 표시하는 언어
•
TAG와 TAG사이에 값이 표시되고,
구조적인 정보를 표현할 수 있음
•
HTML과 문법이 비슷, 대표적인 데이터 저장 방식
JSON
JSON Overview
•
JavaScript Object Notation
•
원래 웹 언어인 Java Script의 데이터 객체 표현 방식
•
간결성으로 기계/인간이 모두 이해하기 편함
•
데이터 용량이 적고, Code로의 전환이 쉬움
•
이로 인해 XML의 대체제로 많이 활용되고 있음
JSON in Python
•
json 모듈을 사용하여 손 쉽게 파싱 및 저장 가능
•
데이터 저장 및 읽기는 dict type과 상호 호환 가능
•
웹에서 제공하는 API는 대부분 정보 교환 시 JSON 활용
•
페이스북, 트위터, Github 등 거의 모든 사이트
•
각 사이트 마다 Developer API의 활용법을 찾아 사용
JSON Read
•
JSON 파일의 구조를 확인 읽어온 후 Dict Type처럼 처리
JSON Write
•
Dict Type으로 데이터 저장 josn모듈로 Write
-인수 적다가 죽음