Search
Duplicate

Python data handling

생성자
분류
파이썬
생성일
2022/06/06 14:06

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 파일형태로데이터처리예제
예제데이터: customer.csv (https://bit.ly/3psoUZb)
일반적textfile을처리하듯파일을읽어온후, 한줄한줄씩데이터를처리함

CSV 파일 읽기 예제

CSV 파일 쓰기 예제

CSV 객체로 CSV 처리

Text 파일형태로데이터처리시문장내에들어가있는“,” 등에대해 전처리과정이필요
파이썬에서는간단히CSV파일을처리하기위해csv 객체를제공함
예제데이터: korea_foot_traffic_data.csv (from http://www.data.go.kr)
예제데이터는국내주요상권의유동인구현황정보
한글로되어있어한글처리가필요

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
-인수 적다가 죽음