Skip to content

Python codes preprocessing public restaurant data for cheffi DB

Notifications You must be signed in to change notification settings

Cheffi-Git/Cheffi-Preprocessing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

개요

Cheffi Server DB에서 필요한 식당 정보를 한국 정부에서 제공하는 OPEN API에서 구하기로 결정했습니다.
OPEN API에서는 최초 제공분을 3개 포맷(xml, xlsx, csv) 파일로 제공하고 변동분을 업데이트 하는 방식입니다.
우선 최초 변동분을 필요한 정보만 포맷에 맞게 DB에 저장하기 위해 별도의 전처리 과정이 필요하고, 이 코드가 최초 변동분을 전처리하는 파이썬 코드입니다.
링크: https://www.localdata.go.kr/devcenter/apiGuide.do?menuNo=20002

전처리할 정보

  • id: 오리지널 인덱스
  • category: 업태구분명
  • province: 1차주소 (시/도)
  • city: 2자주소 (시/군/구)
  • lot_number: 지번상세주소
  • road_name: 도로명상세주소
  • manage_number: 관리번호
  • name: 사업장명
  • name_for_query: 검색용 사업장명(스페이스 제거)
  • registered: 등록여부(반드시 false)
  • x: x좌표 (소수)
  • y: y좌표 (소수)
  • coordinates: 좌표의 WKT(Well-Known-Text)
  • restaurant_id: 식당 id(반드시 null, 외래키)

루트 폴더에 전처리할 source.csv 파일을 저장한 뒤 빌드 및 컨테이너 실행하면 됩니다.(바인드 마운트를 해야 결과물이 컨테이너 외부 파일 시스템에 동기화됩니다.)

주의할점

  1. 해당 데이터는 인허가를 기준으로 등록된 일반음식점 정보이기 때문에 2개 이상의 레코드가 상호명과 주소지가 같거나 상호명이 같고 주소지가 매우 가까운 등 사실상 중복된 데이터들이 꽤 있습니다. 해당 코드에서는 중복된 정보를 필터링하는 로직은 구현되어 있지 않으므로 주의해주시기 바랍니다. (추후 가능하다면 중복 식당 필터링 로직 구현 예정)

업데이트

2024.03.01

  • 중부 원점 좌표계 (ESPG:5174)에서 GPS 좌표 (ESPG:4326)로 변환하는 코드 추가

2024.03.02

  • MySQL에 DataFrame을 삽입하는 코드 추가
  • 변환된 좌표를 WKT로 전환 후 MySQL에 geometry 타입으로 삽입하는 코드 추가

About

Python codes preprocessing public restaurant data for cheffi DB

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published