* Python data handling
💡 아래 내용은 부스트코스(boostcourse) 인공지능(AI) 기초 다지기 강의를 듣고 공부하며 내용을 정리한 글입니다. 더 자세한 내용은 실제 강의를 들어보길 추천합니다 😃
🐍 파이썬에서 다룰 수 있는 CSV, WEB, XML, JSON 4가지 데이터 저장 방식
📝 Contents
- CSV
- WEB
- XML
- JSON
CSV(Comma Separate Values)
- 필드를 쉼표(,)로 구분한 텍스트 파일
- 엑셀 양식의 데이터를 프로그램에 상관없이 쓰기 위한 데이터 형식
WEB(World Wide Web_WWW 줄여서 WEB)
- 우리가 늘 쓰는 인터넷 공간의 정식 명칭
- 팀 버너스리에 의해 1989년 처음 제안되었으며, 원래는 물리학자들간 정보 교환을 위해 사용됨
- 데이터 송수신을 위한 HTTP 프로토콜 사용, 데이터를 표시하기 위해 HTML 형식을 사용
HTML(Hyper Text Markup Language)
- 웹 상의 정보를 구조적으로 표현하기 위한 언어
- 제목, 단란, 링크 등 요소 표시를 위해 Tag를 사용
- 모든 요소들은 꺽쇠 괄호(<>) 안에 둘러 쌓여 있음
- 모든 HTML은 트리 모양의 포함관계를 가짐
- 일반적으로 웹 페이지의 HTML 소스파일은 컴퓨터가 다운로드 받은 후 웹 브라이저가 해석/표시
- HTML도 일종의 프로그램, 페이지 생성 규칙이 있음
: 규칙을 분석하여 데이터의 추출이 가능 => 추출된 데이터를 바탕으로 하여 다양한 분석이 가능
XML(Extensible Markup Language)
- 데이터의 구조와 의미를 설명하는 TAG(MarkUp)를 사용하여 표시하는 언어
- TAG와 TAG사이에 값이 표시되고, 구조적인 정보를 표현할 수 있음
- HTML과 문법이 비슷, 대표적인 데이터 저장방식
- 정보의 구조에 대한 정보인 스키마와 DTD 등으로 정보에 대한 정보(메타정보)가 포함되며, 용도에 따라 다양한 형태로 변경가능
- XML은 컴퓨터(예: PC <-> 스마트폰)간에 정보를 주고받기 매우 유용한 저장 방식으로 쓰여왔음
JSON(JavaScript Object Notation)
- 원래 웹 언어인 JavaScript의 데이터 객체 표현 방식
- 간결성으로 기계, 인간이 모두 이해하기 편함
- 데이터 용량이 적고, Code로의 전환이 쉬움
- 이로 인해 XML의 대체제로 많이 활용되고 있음
- Dict Type과 동일(key : value 쌍으로 데이터 표시)
- 웹에서 제공하는 API는 대부분 정보 교환시 JSON 활용
예시)
# JSON 파일의 구조 확인 => 읽어온 후 (read는 loads) => Dict Type처럼 처리
import json
with open("json_example.json", "r", encoding="utf8") as f:
contents = f.read()
json_data = json.loads(contents)
print(json_data["employees"])
# Dict Type으로 데이터 저장 => json모듈로 쓰기(write은 dump)
with open("data.json", "w") as f:
json.dump(dict_data, f)
🙂 공감과 피드백 환영합니다.
'프로그래밍 > Python' 카테고리의 다른 글
Python 소수점 다루기 - math, int(), //1 (0) | 2023.08.16 |
---|---|
[인공지능(AI) 기초 다지기] Numpy의 여러 기능 / 실습 코드 (0) | 2023.02.03 |
[인공지능(AI) 기초 다지기] 객체 지향 언어의 이해 (0) | 2023.01.30 |
[인공지능(AI) 기초 다지기] Pythonic Code 파이썬다운 코드를 작성해보자! - list comprehension, enumerate, zip, lambda, generator, asterisk(*) .. (2) | 2023.01.23 |
[인공지능(AI) 기초 다지기] Python 자료 구조(Data Structure) : Stack & Queue, Dict, Collections (0) | 2023.01.19 |