====== 친환경인증 데이터 정리 ======
생산자들의 인증 정보를 관리하기 위해 데이터를 다운로드하여 가공하는 방법을 설명한다.
====== 친환경 인증데이터 받기 ======
국립농산물품질관리원 홈페이지(https://www.enviagro.go.kr/portal/info/info_certifi_ok.do?tabIndex=2)에서 해당 데이터를 받을 수 있다. 괴산지역에 등록된 모든 생산자들의 인증데이터를 받아야 한다.
인증정보 페이지에서 '상세검색' 탭을 눌러 '농장소재지' 를 '충청북도 괴산군' 전체로 지정하고 검색을 누른다. 시스템이 느려 시간이 걸릴 수 있으니 인내심을 가지고 기다리자.
결과가 나오면, 오른쪽에 '엑셀저장' 아이콘을 누른다. 다운로드 창이 뜬다. 파일명은 '친환경인증정보조회결과(20211221).xls' 로 저장된다.
====== 데이터 가공하기 ======
앞서 괴산군 지역에서 친환경 인증을 받은 생산자들의 데이터가 담긴 엑셀파일을 받았다. 이를 가공해서 업무에 사용해야 한다.
- 인증인증 기간이 임박했거나 만료된 생산자들에게 통보해준다.
- 등록된 생산자의 다양한 정보들을 용이하게 볼 수 있어야 한다.
===== 인증 관리를 위한 가공 =====
다운받은 엑셀파일을 열어 전체를 복사하여 '새파일'에 붙여넣기 한다. 이때 '값' 붙여넣기를 선택한다.
인증기간의 값을 가공하여 만료일자만 추출해야 한다. I 열(재배면적)을 전체선택하고 '삽입'한다. 아래 함수를 입력한다.
=TRIM(MID(H4,14,10))
바로 옆에 또다른 열을 추가한다. 아래 함수를 입력한다.
=SUBSTITUTE(I4,".","-")
마지막 열에 두 열을 추가한다(만료여부/임박여부). 만료여부 열에는 아래 함수를 입력한다.
=TODAY()>=EDATE(J4,0)
임박여부 열에는 아래 함수를 입력한다.
=AND(TODAY()>=(EDATE(J4,0)-21),TODAY()
값이 'FALSE' 이면 해당하지 않는 것이다.
==== 만료된 인증번호의 색깔 채우기(빨간색) ====
오늘 날짜 기준으로 만료된 인증번호에 빨간색을 칠해서 알아보기 편하게 한다. '만료날짜' 열을 전체 선택하고, '조건부 서식 - 새규칙' 을 클릭한다.
'수식을 사용하여 서식을 지정할 셀 결정' 을 선택하고, 아래의 서식을 입력한다.
=TODAY()>=EDATE(J4,0)
'서식' 버튼을 누르고, 채우기 탭에서 '빨간색'을 선택한다. 만료된 인증번호의 열에는 빨간색으로 채워질 것이다.
==== 임박한 인증번호의 색깔 채우기(노란색) ====
오늘 날짜 기준으로 만료날짜까지 3주(21일) 안으로 들어온 인증번호의 경우, 노란색으로 채운다.
앞서와 마찬가지로 같은 열을 선택하고, '조건부 서식 - 새규칙' 을 클릭한다. '수식을 사용하여 서식을 지정할 셀 결정' 을 선택하고, 아래의 서식을 입력한다.
=AND(TODAY()>=(EDATE(J4,0)-21),TODAY()
'서식' 버튼을 누르고, 채우기 탭에서 '노란색'을 선택한다. 만료된 인증번호의 열에는 노란색으로 채워질 것이다.
==== 임박했거나, 만료된 인증 항목들만 보기 ====
만료날짜 탭을 클릭하고, '색 기준 필터' 를 선택해서 색깔을 선택한다.
===== 인증번호 이름의 엑셀파일 만들기 =====
앞서 받은 데이터 중, 인증번호로 엑셀파일을 만든다. 화면은 아래와 같다.
{{ :computer:job:gsfood:5.png?nolink |}}
코드는 아래와 같다.
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 |
----
{{indexmenu>:#1|skipns=/^(wiki|etc|diary|playground)$/ skipfile=/^(todays|about|guestbook)$/ nsort rsort}}
----