생산자들의 인증 정보를 관리하기 위해 데이터를 다운로드하여 가공하는 방법을 설명한다.

친환경 인증데이터 받기

국립농산물품질관리원 홈페이지(https://www.enviagro.go.kr/portal/info/info_certifi_ok.do?tabIndex=2)에서 해당 데이터를 받을 수 있다. 괴산지역에 등록된 모든 생산자들의 인증데이터를 받아야 한다.
인증정보 페이지에서 '상세검색' 탭을 눌러 '농장소재지' 를 '충청북도 괴산군' 전체로 지정하고 검색을 누른다. 시스템이 느려 시간이 걸릴 수 있으니 인내심을 가지고 기다리자.
결과가 나오면, 오른쪽에 '엑셀저장' 아이콘을 누른다. 다운로드 창이 뜬다. 파일명은 '친환경인증정보조회결과(20211221).xls' 로 저장된다.

데이터 가공하기

앞서 괴산군 지역에서 친환경 인증을 받은 생산자들의 데이터가 담긴 엑셀파일을 받았다. 이를 가공해서 업무에 사용해야 한다.

  1. 인증인증 기간이 임박했거나 만료된 생산자들에게 통보해준다.
  2. 등록된 생산자의 다양한 정보들을 용이하게 볼 수 있어야 한다.

다운받은 엑셀파일을 열어 전체를 복사하여 '새파일'에 붙여넣기 한다. 이때 '값' 붙여넣기를 선택한다.
인증기간의 값을 가공하여 만료일자만 추출해야 한다. I 열(재배면적)을 전체선택하고 '삽입'한다. 아래 함수를 입력한다.

=TRIM(MID(H4,14,10))

바로 옆에 또다른 열을 추가한다. 아래 함수를 입력한다.

=SUBSTITUTE(I4,".","-")

마지막 열에 두 열을 추가한다(만료여부/임박여부). 만료여부 열에는 아래 함수를 입력한다.

=TODAY()>=EDATE(J4,0)

임박여부 열에는 아래 함수를 입력한다.

=AND(TODAY()>=(EDATE(J4,0)-21),TODAY()<EDATE(J4,0) )

값이 'FALSE' 이면 해당하지 않는 것이다.

오늘 날짜 기준으로 만료된 인증번호에 빨간색을 칠해서 알아보기 편하게 한다. '만료날짜' 열을 전체 선택하고, '조건부 서식 - 새규칙' 을 클릭한다.
'수식을 사용하여 서식을 지정할 셀 결정' 을 선택하고, 아래의 서식을 입력한다.

=TODAY()>=EDATE(J4,0)

'서식' 버튼을 누르고, 채우기 탭에서 '빨간색'을 선택한다. 만료된 인증번호의 열에는 빨간색으로 채워질 것이다.

오늘 날짜 기준으로 만료날짜까지 3주(21일) 안으로 들어온 인증번호의 경우, 노란색으로 채운다.
앞서와 마찬가지로 같은 열을 선택하고, '조건부 서식 - 새규칙' 을 클릭한다. '수식을 사용하여 서식을 지정할 셀 결정' 을 선택하고, 아래의 서식을 입력한다.

=AND(TODAY()>=(EDATE(J4,0)-21),TODAY()<EDATE(J4,0) )

'서식' 버튼을 누르고, 채우기 탭에서 '노란색'을 선택한다. 만료된 인증번호의 열에는 노란색으로 채워질 것이다.

만료날짜 탭을 클릭하고, '색 기준 필터' 를 선택해서 색깔을 선택한다.

앞서 받은 데이터 중, 인증번호로 엑셀파일을 만든다. 화면은 아래와 같다.

코드는 아래와 같다.

import pyautogui
import time
time.sleep(3)
 
for i in range(426):
    pyautogui.press('down')
    time.sleep(1)
    pyautogui.hotkey('ctrl','c')
    time.sleep(1)
    pyautogui.click(x=290, y=926, button='right', clicks=1)   // 폴더 창의 왼쪽아래 위치
    time.sleep(1)
    pyautogui.hotkey('shift','f10')
    time.sleep(1)
    pyautogui.press('up')
    time.sleep(0.1)
    pyautogui.press('up')   
    time.sleep(0.1)
    pyautogui.press('right')
    time.sleep(0.1)
    pyautogui.press('up')   
    time.sleep(0.1)
    pyautogui.press('up')   
    time.sleep(0.1)
    pyautogui.press('enter')
    time.sleep(1)    
    pyautogui.hotkey('ctrl','v')    
    time.sleep(1)
    pyautogui.press('enter')    
    time.sleep(1)   
    pyautogui.click(x=330, y=23, button='right', clicks=1)  // 엑셀 윈도우 위치
    time.sleep(1)    

'생산자명' 에 특수문자가 들어가지 않도록 수정해야 한다. 예를들면, 빈칸이나 '(주)' 나 '(유)' 같은 것들이다.

생산자별 데이터 받기

앞서 받은 자료는 대표 명의의 인증정보들이다. 개인들로 구성된 경우, 기존자료료 찾을 수 없다. 아래 주소를 잘 살펴보면, 규칙을 알 수 있다.

https://www.enviagro.go.kr/portal/info/Info_certifi_spe.do?s_query_type=1&s_std_cert_no=12100009&tabIndex=1&today_dt=20220214
변수명 설명 입력값
s_query_type 쿼리 타입 1
s_std_cert_no 인증번호 12100009
tabIndex 인덱스 1
today_dt 오늘날짜 20220214
  • computer/gsfood/친환경인증_데이터_정리.txt
  • Last modified: 3 years ago
  • by likewind