현재(2022/02/23) 기준으로 데이터 취합하는 방법을 순서대로 정리했다.

전체 인증데이터 다운로드

인증페이지(https://www.enviagro.go.kr/portal/info/info_certifi_ok.do) 의 상세검색에서 '농장소재지' 를 '충북, 괴산군' 으로 지정하고 검색 후 엑셀로 다운로드 한다.

인증 데이터 보정하기

엑셀파일을 열어서 각 항목별로 필터를 건다. 그리고 '농가수' 열이 '0' 인 곳은 제외(체크해제)하고 출력한다. 그리고 전체 복사하고, 새파일로 복사한다. 참고로 0 인 곳은 인증 취소를 한 것이다.

'인증기간' 열 옆에 추가하고, 아래 함수를 입력한다(아래 그림참조)

=SUBSTITUTE(TRIM(MID(H4,14,10)),".","-")

스크립트 파일 실행하기

여기의 파이썬 프로그램을 사용할 것이다.

먼저 C:\gsfood_test 아래에 a.txt 파일을 만든다. 그리고 앞서 엑셀파일에서 '인증번호' 열의 데이터를 전체 복사한다.

12501891
12501910
12501913
12501928
12501932
12501935
12501937
12501947
12501949
...

주피터(jupyter)를 실행하고, 프로그램을 실행한다. 인증번호 이름의 엑셀파일이 생성되면서, 해당 생산자의 품목정보가 저장된다. 이 파일들을 하나로 합쳐야 한다. '엑셀머지(XLMerge)' 프로그램을 사용한다. 타이틀과 파일명 모두 포함하지 않는다.
합쳐진 파일을 열고, 태그(tag) 를 삭제하기 위해, '찾기 및 바꾸기' 메뉴에서 찾을 내용은 '<*>' 로 입력하고 바꿀 내용은 빈칸 처리한다. '모두바꾸기' 를 선택한다.
그리고 아래그림처럼 F열에 '인증번호' 을 추가하고, 각 끝 열의 인증번호를 복사한다.

전체데이터와 스크립트 파일 데이터 합치기

앞서 받은 전체데이터(1)와 프로그램을 통해 얻은 데이터(2)를 하나의 파일에 서로 다른 시트로 복사한다.
1번 데이터의 시트는 아래 그림과 같이 '인증번호(수정)' 열을 추가하고 공백을 없애준다(trim 함수).

2번 데이터의 시트는 아래 그림과 같이 vlookup 함수를 이용해서 '인증분류, 생산자(대표), 농가수, 주소, 만료날짜' 열을 추가한다.

이제 필요한 모든 정보를 엑셀파일 상에 만들었다.

구글 시트로 만들기

데이터의 접근성을 위해 구글 시트에 올린다. 앞서 만든 엑셀 파일의 각 시트를 전체 선택하여 복사한다. '값만 붙여넣기' 를 선택한다.
1번과 2번 시트의 '만료날짜' 가 숫자로 변경되어 있는데, 서식 메뉴(123)를 클릭해서 '맞춤 날짜 및 시간' 을 클릭한다.

그림처럼 설정하면, 원래대로 날짜가 표시된다. 이제 필요없는 데이터 열을 삭제한다.
1번 시트는 B(인증번호), I(인증기간) 열을 삭제한다. 2번 시트는 E(인증번호) 열을 삭제한다.

검색 시트 만들기

총 4개의 검색 시트를 생성한다. 이름검색(대표), 번호검색(대표), 이름검색(개인), 번호검색(개인).

=query('전체(대표)'!A2:K420, "select * where E contains '"&B1&"'")     // 이름검색(대표)
=query('전체(대표)'!A2:K420, "select * where B contains '"&B1&"'")      // 번호검색(대표)
=query('전체(개인)'!A2:J2157, "select * where A contains '"&B1&"'")     // 이름검색(개인)
=query('전체(개인)'!A2:J2157, "select * where E contains '"&B1&"'")     // 번호검색(개인)

아래 그림을 참고한다.

참고 자료

앞서 생성한 엑셀파일은 다운로드 할 수 있다. certificate.xlsx
구글시트는 https://docs.google.com/spreadsheets/d/16oQr55NA8_p8fW6FRWH4TJKbGU8rnITlRLpAbRS7WV0/edit?usp=sharing 에서 볼 수 있다.

  • computer/gsfood/친환경인증_데이터_정리_2판.txt
  • Last modified: 20 months ago
  • by likewind