본문 바로가기
728x90
SMALL

Python23

정규식을 이용한 데이터 전처리(문자만 남기기) 1. 글을 작성하게 된 계기 텍스트 데이터를 전처리 하다 보면 흔하게 문자만 남기거나 특정 문자를 삭제하는 등과 같은 데이터 전처리 작업이 필요한 경우들이 많다. 그래서 정규식을 이용해 데이터를 전처리 하는 방법에 대해서 정리하고자 글을 작성하게 되었다. 2. 정규식을 이용한 데이터 전처리 - 단일 변수일 경우(문자 외에 모두 제거) import re string = "abcdefㄱㄴㄷㄹㅁㅂ가나다라마바사12345[]{}().,!?'`~;:" re.sub('[^A-Za-z0-9가-힣]', '', string) #영어대문자,소문자,숫자,한글만 남기기 # Out[1]: 'abcdef가나다라마바사12345' import re def preprocessing_text(): s='韓子는 어렵고, 한글은 nice하다.. 2023. 1. 14.
기존 database를 가져와서 ORM 만들기 1. 이 글의 목표 python에서 ORM을 활용하기 위해서는 통상 models.py라 불리는 데이터 형태를 저장해놓아야 한다. 저번 포스팅에서는 직접 models.py를 작성해서 기존의 database를 불러오는 것을 해보았다. 이번에는 직접 작성하는 것이 아닌 sqlacodegen를 활용해 기존의 database형태를 models.py에 저장하는 법에 대해서 알아보겠다. 2. 기존 database를 models.py에 저장하는 방법 1. sqlacodegen 모듈을 설치한다. pip install sqlacodegen 2. 연결하고 싶은 db를 작성하고 models.py에 저장시킨다.(mysql 기준) sqlacodegen mysql+pymysql://:@:/ > "./models.py" 3. mod.. 2022. 12. 11.
[FastAPI] FastAPI와 DB(MySQL) 연결하기 1. 이 글의 목표 이미 존재하는 별도의 MySQL DB를 FastAPI에서 ORM을 이용해서 가져올 수 있다. 2. FastAPI와 MySQL(DB) 연결하기 - 디렉터리 구조 . ├── app.py ├── models.py └── database.py - 필요 모듈 설치 pip install fastapi pip install pydantic pip install SQLAlchemy pip install mysql - database.py : 기존에 존재하는 database를 sqlalchemy를 이용해 연결해주는 파일 from sqlalchemy import * from sqlalchemy.orm import sessionmaker DB_URL = 'mysql+pymysql://{USERNAME}:.. 2022. 11. 30.
ORM vs SQL Mapper 1. 글을 작성하게 된 이유 Rest API를 만들면서 생겨난 이슈사항이다. FastAPI를 이용해 request가 왔을 때 response를 해주는 Rest API를 만들고 있었다. response를 위해서는 기존에 만들어진 db(mysql)에서 데이터를 가져와 미리 만들어진 분석 코드를 실행시켜 데이터 분석 결과를 결과값으로 응답해주어야 했다. 이때 기존에 만들어진 db에서 데이터를 어떻게 가져와야 할까 라는 고민이 생겼다. ORM이 좋은 방법일까 아니면 SQL Mapper가 좋은 방법일까 장단점에 대해 비교해보자. 2. ORM vs SQL Mapper ORM 이란? ORM(Object-relational mapping)을 단순하게 표현하면 객체와 관계와의 설정이라 할 수 있다. OOP(Object .. 2022. 11. 5.
[FastAPI] FastAPI를 이용한 서버 구축 1. 글을 쓰게 된 계기 앞에 포스팅에서 FastAPI를 쓰게 된 이유를 나열했다. FastAPI 간단 요약 특징들 빠름 : NodeJS 및 Go 와 동등한 매우 높은 성능 (Starlette 및 Pydantic 덕분에). 사용 가능한 가장 빠른 Python 프레임워크 중 하나입니다. 빠른 코딩 : 기능 개발 속도를 약 200%~300% 증가시킵니다. 버그 감소 : 인간(개발자)이 유발하는 오류의 약 40%를 줄입니다. 직관적 : 훌륭한 편집기 지원. 어디서나 완성 . 디버깅 시간이 적습니다. Easy : 사용하고 배우기 쉽도록 설계되었습니다. 문서를 읽는 시간이 줄어듭니다. Short : 코드 중복을 최소화합니다. 각 매개변수 선언의 여러 기능. 버그가 적습니다. 강력함 : 프로덕션 준비 코드를 가져옵.. 2022. 10. 24.
728x90
LIST