Today's

길을 나서지 않으면 그 길에서 만날 수 있는 사람을 만날 수 없다

파이썬 스크립트

- 🐍 Python | CamelCase를 snake_case로 변환하고 SQLite에서 단일 row 조회하기 ---

Billcorea 2025. 11. 7. 15:08
반응형

ai가 그린 그림

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) ---

 

반응형