
1️⃣ 글 제목
🐍 Python | 문자열 처리와 xlwings로 엑셀 데이터 다루기 ---
2️⃣ 개요 (Intro)
- 오늘은 Python에서 문자열을 다루는 다양한 방법과 xlwings를 활용한 엑셀 데이터 처리에 대해 실험하고 정리했다. - 특히 숫자 서식이 적용된 엑셀 셀을 문자형으로 읽어오는 문제와 문자열의 특정 패턴 확인 및 변환에 집중했다. - 사용한 기술 스택은 다음과 같다.
📅 날짜: 2025.11.01 🎯 목표: 문자열 처리 및 xlwings 엑셀 연동 🧰 기술: Python 3.11, xlwings, re(정규표현식)
---
3️⃣ 문제 정의 (Problem / Motivation)
- 엑셀에서 숫자 서식이 적용된 셀을 xlwings로 읽어올 때, `1.0`처럼 float로 인식되어 문자열로 변환 시 `.0`이 붙는 문제가 있었다. - 또한 문자열의 첫 문자가 알파벳인지, 특정 패턴(`.0`, `'`, `"`)이 포함되어 있는지 확인하는 로직이 필요했다. - 이를 해결하기 위해 다양한 문자열 메서드와 정규표현식을 테스트했다.
# 숫자 서식 셀을 문자열로 변환
value = sheet.range('A1').value
if isinstance(value, float) and value.is_integer():
value_as_str = str(int(value))
else:
value_as_str = str(value)
---
4️⃣ 해결 과정 (How I Solved It)
- `str()`로 변환 시 `1.0`처럼 float 값이 그대로 문자열로 표현되는 문제를 `is_integer()`로 해결했다. - 문자열의 첫 문자가 알파벳인지 확인할 때는 `text[0].isalpha()`를 사용했고, `.0`으로 끝나는지 확인할 때는 `text.endswith('.0')`를 활용했다. - `'` → `"` 변환은 `text.replace("'", '"')`로 간단히 처리했고, 마침표 개수는 `text.count('.')`로 확인했다.
# 문자열에서 .0으로 끝나는지 확인
if text.endswith('.0'):
print("문자열은 .0으로 끝납니다.")
---
5️⃣ 결과 (Result)
- 엑셀 셀의 숫자 서식을 문자형으로 안정적으로 변환할 수 있게 되었고, 문자열 처리 로직도 정리되었다. - 다양한 문자열 패턴을 정규표현식과 내장 메서드로 처리할 수 있는 자신감이 생겼다.
✅ 엑셀 숫자 셀을 문자형으로 변환 성공 🔍 문자열 패턴 확인 및 변환 로직 정리 완료
---
6️⃣ 느낀 점 / 회고 (Reflection)
- Python의 문자열 메서드는 직관적이고 강력하지만, float 처리나 엑셀 연동 시에는 세심한 조건 분기가 필요하다는 걸 느꼈다. - 다음에는 `openpyxl`이나 `pandas`를 활용한 방식도 비교해보고 싶다. - 정규표현식은 여전히 강력한 도구이며, 다양한 패턴 인식에 유용하다. ---
7️⃣ 참고자료 (References)
- [xlwings 공식 문서](https://docs.xlwings.org/en/stable/) - [Python 문자열 메서드 정리](https://docs.python.org/3/library/stdtypes.html#string-methods) - [re 정규표현식 문서](https://docs.python.org/3/library/re.html) ---
'파이썬 스크립트' 카테고리의 다른 글
| - 🐍 Python | CamelCase를 snake_case로 변환하고 SQLite에서 단일 row 조회하기 --- (0) | 2025.11.07 |
|---|---|
| 🐍 Python | Raspberry Pi에서 오픈소스 LLM으로 뉴스 요약기 만들기 --- (1) | 2025.11.05 |
| 오늘의 개발일지: 웹 스크래핑 삽질에서 모듈화까지(ft Python) (1) | 2025.10.28 |
| 🐍 Python | PC에 흩어진 .whl 파일, 한 곳으로 모으는 자동화 스크립트 개발기 (1) | 2025.10.26 |
| Eclipse에서 PyDev 오프라인 설치하는 방법 (1) | 2025.10.05 |