Python Data Handing
💡 기초적인 Data type에는 CSV, 웹(html), XML, JSON이 있다
csv( Comma Separate Value )
- 필드를 쉼표(
,
)로 구분한 텍스트 파일 - 엑셀 양식의 데이터를 프로그램에 상관없이 쓰기 위한 데이터 형식이라고 생각하면 쉽다
- 탭( TSV ), 빈칸( SSV ) 등으로 구분해서 만들기도 한다
- 통칭하여 character-separated values( CSV )로 부른다
- 엑셀에서는 다른 이름 저장 기능으로 사용 가능
- 파이썬에서는 간단히 CSV파일을 처리하기 위해 csv객체를 제공
📍 csv 객체 활용
import csv
reader = csv.reader(f, delimiter = ',',
quotechar='"',
quoting=csv.QUOTE_ALL)
- delimiter : 글자를 나누는 기준( Default :
.
) - lineterminator : 줄 바꿈 기준( Default :
\r\n
) - quotechar : 문자열을 둘러싸는 신호 문자( Default :
"
) - quoting : 데이터 나누는 기준이 quotechar에 의해 둘러싸인 레벨( Default :
QUOTE_MINIMAL
)
WEB
-
World Wide Web( WWW )을 줄여서 WEB( 웹 )이라고 부름
-
우리가 늘 쓰는 인터넷 공간의 정식 명칭
-
팀 버너스리에 의해 1989년 처음 제안, 원래는 물리학자들간 정보 교환을 위해 사용
-
데이터 송수신을 위한 HTTP 프로토콜을 사용
- 웹 상의 정보를 구조적으로 표현하기 위한 언어
- 제목, 단락, 링크 등 요소 표시를 위해 Tag를 사용
- 모든 요소들은 꺽쇠 괄호 안에 둘러 쌓여 있음
- 모든 HTML은 트리 모양의 포함관계를 가진다
- 일반적으로 웹 페이지의 HTML 소스파일은 컴퓨터가 다운로드 받은 후 웹 브라우저가 해석 및 표시
-
데이터를 표시하기 위해 HTML 형식을 사용
-
정규표현식으로 Parsing 가능
Web 동작 방식
eXtensible Markup Language( XML )
- 데이터의 구조와 의미를 설명하는 TAG( MarkUp )를 사용하여 표시하는 언어
- TAG와 TAG사이에 값이 표시되고, 구조적인 정보를 표현
- HTML과 문법이 비슷
- 정보의 구조에 대한 정보인 스키마와 DTD 등으로 정보에 대한 정보( 메타정보 )가 표현되며, 용도에 따라 다양한 형태로 변경이 가능
- XML도 HTML과 같이 구조적 MarkUp 언어이다
- XML은 컴퓨터 간에 정보를 주고 받기 매우 유용한 저장 방식으로 사용
- 정규표현식으로 Parsing 가능
- 주로 beautifulsoup으로 파싱
- HTML, XML등 Markup 언어 Scraping을 위한 대표적인 도구
- lxml과 html5lib과 같은 Parser를 사용
- 속도는 상대적으로 느리나 간편히 사용할 수 있다
- 주로 beautifulsoup으로 파싱
📍 XML 예제
<?xml version="1.0"?>
<고양이>
<이름>나비</이름>
<품종>샴</품종>
<나이>6</나이>
<중성화>예</중성화>
<발톱 제거>아니요</발톱 제거>
<등록 번호>Izz138bod</등록 번호>
<소유자>이강주</소유자>
</고양이>
JavaScript Object Notation( JSON )
-
원래 웹 언어인 Java Script의 데이터 객체 표현 방식
-
간결성으로 기계 / 인간이 모두 이해하기 편함
-
데이터 용량이 적고, Code로의 전환이 쉽다
-
이로 인해 XML의 대체체로 많이 활용되고 있다
💡 왼쪽이 XML, 오른쪽이 JSON
👉 JSON이 XML보다 간결하게 표현이 가능하다 -
JSON 모듈을 사용하여 손 쉽게 파싱 및 저장이 가능
-
데이터 저장 및 읽기는 dict type과 상호 호환이 가능
-
웹에서 제공하는 API는 대부분 정보 교환 시 JSON을 활용한다
- 각 사이트 마다 Developer API의 활용법을 찾아 사용해야 한다
Author And Source
이 문제에 관하여(Python Data Handing), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ksj5738/Python-Data-Handing저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)