오늘 교육에서는 인터넷을 통해 데이터를 가져오는 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에서 활용하는 전체 흐름을 확인한 교육이었습니다.
특히 requests → json.loads() →
DataFrame → to_csv()의 흐름을
다시 확인해 두면 오늘 배운 내용을 떠올리는 데 도움이 될 것 같습니다.
※ 이 글은 2026년 9월 18일 교육에서 배운 내용을 복습하기 위해 정리한 개인 학습 기록입니다.