본문 바로가기
카테고리 없음

(9/18일) API·JSON·Pandas·CSV·MySQL 공부 정리

by proprocess-manager 2026. 9. 18.
반응형

오늘 교육에서는 인터넷을 통해 데이터를 가져오는 API 활용 방법부터 시작해, JSON 데이터를 Python에서 다루고, Pandas를 이용해 표 형태로 정리한 뒤 CSV 파일로 저장하는 과정까지 배웠습니다.

마지막으로 MySQL Workbench에서 데이터베이스를 구성하는 기본적인 방법도 함께 확인했습니다.

1. 프로그램별 주요 문법 한눈에 보기

프로그램·기술 주요 문법 기억할 내용
REST API URL 인터넷을 통해 서버의 데이터를 요청하는 방식
Requests requests.get() Python에서 웹 API에 GET 요청
JSON json.loads() JSON 문자열을 Python 객체로 변환
Python Dictionary .get() 딕셔너리의 key에 해당하는 값 가져오기
Python List len(), [0], append() 개수 확인, 인덱싱, 데이터 추가
반복문 for 여러 개의 데이터를 하나씩 처리
Streamlit st.table() 데이터를 표 형태로 화면에 표시
Pandas pd.DataFrame() 데이터를 행과 열의 표 형태로 구성
CSV to_csv() DataFrame을 CSV 파일로 저장
MySQL Workbench CREATE DATABASE MySQL 데이터베이스 생성 및 관리

2. REST API

REST API는 HTTP를 이용해 서버의 리소스를 요청하고 데이터를 주고받을 수 있도록 만든 방식입니다.

오늘 교육에서는 API의 URL을 이용하여 공공 데이터를 가져오는 흐름을 확인했습니다.

URL
→ API 요청
→ 서버 응답
→ 데이터 활용

3. Python Requests

requests는 Python에서 HTTP 요청을 쉽게 보낼 수 있도록 지원하는 라이브러리입니다.

오늘 배운 핵심은 requests.get()으로 API에 GET 요청을 보내는 것입니다.

import requests

url = "API 주소"

data = requests.get(url).text

print(data)

기억할 문법requests.get(url).text

4. JSON

JSON(JavaScript Object Notation)은 구조화된 데이터를 표현하고 전달하기 위한 텍스트 기반 형식입니다.

API에서 받은 JSON 문자열을 Python에서 활용하려면 Python 객체로 변환하는 과정이 필요합니다.

import json

dict_data = json.loads(data)

기억할 문법json.loads() = JSON 문자열 → Python 객체

5. Dictionary에서 데이터 꺼내기

JSON 데이터를 Python 객체로 변환한 후에는 Dictionary의 key를 이용하여 필요한 값을 가져올 수 있습니다.

dict_data.get('response')

dict_data.get('response').get('docs')

기억할 문법.get('key') = 해당 key의 값 가져오기

6. List와 반복문

API 결과처럼 여러 개의 데이터가 리스트로 들어 있는 경우 len()으로 개수를 확인하고, 인덱싱으로 특정 위치의 데이터를 가져올 수 있습니다.

number = len(second_values)

sample_element = second_values[0]

여러 데이터를 하나씩 처리할 때는 for 반복문을 사용합니다.

info_books = []

for data in dict_data.get('response').get('docs'):
    value = data.get('doc')
    info_books.append(value)

기억할 문법len() 개수 / [0] 첫 번째 데이터 / append() 리스트에 추가

7. Streamlit 표 만들기

st.table()은 데이터를 정적인 표 형태로 Streamlit 화면에 표시하는 함수입니다.

st.table(data)

기억할 문법st.table() = 데이터를 화면에 표로 표시

8. Pandas DataFrame

DataFrame은 Pandas에서 사용하는 행과 열로 구성된 2차원 표 형태의 데이터 구조입니다.

import pandas as pd

data_table = pd.DataFrame(info_books)

display(data_table)

기억할 문법pd.DataFrame() = 데이터를 표 형태로 변환

9. CSV 파일 저장

CSV(Comma-Separated Values)는 데이터를 쉼표로 구분하여 저장하는 파일 형식입니다.

Pandas의 to_csv()를 이용하면 DataFrame을 CSV 파일로 저장할 수 있습니다.

file_path = 'popular_book_200.csv'

data_table.to_csv(
    path_or_buf=file_path,
    index=False
)

기억할 문법DataFrame.to_csv() = 표 데이터를 CSV 파일로 저장

10. MySQL Workbench

MySQL Workbench는 MySQL 서버와 데이터베이스를 그래픽 환경에서 관리하고 SQL을 실행할 수 있는 도구입니다.

오늘 교육에서는 공공 데이터를 저장하기 위한 MySQL 데이터베이스 생성 문법을 확인했습니다.

CREATE DATABASE IF NOT EXISTS bookdb
DEFAULT CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;

기억할 문법CREATE DATABASE IF NOT EXISTS = 데이터베이스가 없을 때 생성

11. 오늘 배운 데이터 처리 흐름

공공데이터
   ↓
REST API
   ↓
requests.get()
   ↓
JSON 데이터
   ↓
json.loads()
   ↓
Python Dictionary / List
   ↓
for 반복문
   ↓
Pandas DataFrame
   ↓
CSV 저장
   ↓
MySQL 데이터베이스 활용

12. 오늘의 핵심 문법만 다시 보기

문법 상기할 내용
requests.get() API에 데이터 요청
json.loads() JSON → Python 객체
.get() Dictionary의 값 가져오기
len() 데이터 개수 확인
[0] 리스트 첫 번째 데이터
for 여러 데이터 반복 처리
append() 리스트에 데이터 추가
st.table() Streamlit 표 출력
pd.DataFrame() 데이터를 표 구조로 변환
to_csv() DataFrame을 CSV로 저장
CREATE DATABASE MySQL 데이터베이스 생성

오늘은 단순히 Python 문법을 배우는 것보다 외부 데이터를 가져와서 → Python으로 확인하고 → 표 형태로 정리하고 → 파일로 저장하고 → MySQL에서 활용하는 전체 흐름을 확인한 교육이었습니다.

특히 requestsjson.loads()DataFrameto_csv()의 흐름을 다시 확인해 두면 오늘 배운 내용을 떠올리는 데 도움이 될 것 같습니다.

※ 이 글은 2026년 9월 18일 교육에서 배운 내용을 복습하기 위해 정리한 개인 학습 기록입니다.

반응형