
1️⃣ 글 제목
- 🐍 Python | CamelCase를 snake_case로 변환하고 SQLite에서 단일 row 조회하기 ---
2️⃣ 개요 (Intro)
- 오늘은 Python에서 Camel 표기법을 snake 표기법으로 변환하는 유틸리티 함수를 만들고, SQLite에서 단일 row를 안전하게 조회하는 방법을 정리했습니다. - 간단한 리스트 인덱싱과 함께 Python의 기본 문법을 되짚는 시간이었어요.
📅 날짜: 2025.11.07 🎯 목표: CamelCase → snake_case 변환 함수 구현 및 SQLite 단일 row 조회 🧰 기술: Python, SQLite3, Regex
---
3️⃣ 문제 정의 (Problem / Motivation)
- API나 외부 데이터에서 CamelCase로 된 키를 snake_case로 변환해야 하는 상황이 자주 발생합니다. - SQLite에서 단일 row만 조회하고 싶을 때 `fetchone()`과 `LIMIT 1`의 차이를 명확히 이해할 필요가 있었습니다. - 리스트에서 첫 번째 요소를 안전하게 가져오는 방법도 함께 정리했습니다.
# CamelCase 예시
userName = "kangDev"
---
4️⃣ 해결 과정 (How I Solved It)
- 정규식을 활용해 CamelCase를 snake_case로 변환하는 함수를 구현했습니다. - SQLite에서는 `fetchone()`을 사용해 첫 번째 row만 안전하게 가져왔고, 리스트 인덱싱 시에는 빈 리스트 예외 처리를 추가했습니다.
import re
def camel_to_snake(name):
return re.sub(r'(?<!^)(?=[A-Z])', '_', name).lower()
# SQLite 단일 row 조회
import sqlite3
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
cursor.execute("SELECT * FROM users LIMIT 1")
row = cursor.fetchone()
---
5️⃣ 결과 (Result)
- CamelCase → snake_case 변환 함수가 다양한 입력에 대해 안정적으로 작동함을 확인했습니다. - SQLite에서 단일 row를 안전하게 조회할 수 있었고, 리스트 인덱싱 시 예외 처리를 통해 안정성을 확보했습니다.
✅ CamelCase 변환 함수 완성 📄 SQLite 단일 row 조회 성공 🧠 리스트 인덱싱 시 예외 처리 추가
---
6️⃣ 느낀 점 / 회고 (Reflection)
- 정규식은 간단하지만 강력한 도구라는 걸 다시 느꼈습니다. - SQLite의 `fetchone()`은 `LIMIT 1`과 함께 쓰면 더욱 명확한 의도를 전달할 수 있어요. - 기본 문법을 다시 점검하는 것도 좋은 학습이 된 하루였습니다. ---
7️⃣ 참고자료 (References)
- [Python re.sub 공식 문서](https://docs.python.org/3/library/re.html#re.sub) - [SQLite3 fetchone 설명](https://docs.python.org/3/library/sqlite3.html#sqlite3.Cursor.fetchone) ---
'파이썬 스크립트' 카테고리의 다른 글
| 🐍 Python | Hugging Face 모델, 왜 요약을 못할까? (Base vs. Instruct 모델, 버전 충돌 해결기) (1) | 2025.11.09 |
|---|---|
| 🐍 Python | Raspberry Pi에서 오픈소스 LLM으로 뉴스 요약기 만들기 --- (1) | 2025.11.05 |
| 🐍 Python | 문자열 처리와 xlwings로 엑셀 데이터 다루기 --- (0) | 2025.11.01 |
| 오늘의 개발일지: 웹 스크래핑 삽질에서 모듈화까지(ft Python) (1) | 2025.10.28 |
| 🐍 Python | PC에 흩어진 .whl 파일, 한 곳으로 모으는 자동화 스크립트 개발기 (1) | 2025.10.26 |