AI 제작 가이드

RPA 프로그램으로 매일 필요한 업무 파일 내려받기

승인된 업무사이트의 정기파일 다운로드를 구현하는 방법을 설명합니다. Playwright·Celery beat·pandas의 역할과 파일 완료 확인, 날짜·헤더 검사, 원본 보관, 실패 시 중지 기준을 정리합니다.

핵심 요약

1. 승인된 업무사이트에서 정기파일을 내려받고, 검사를 통과한 자료만 다음 업무에 전달합니다. 2. Playwright는 화면 조작에, Celery beat는 정기 실행에, pandas는 Excel 자료 확인에 사용합니다. 3. 파일 생성 완료 확인, 날짜·헤더 검사, 원본 보관, 실패 시 후속 작업 중지는 별도로 개발합니다.

매일 같은 사이트에서 파일을 받더라도 버튼을 누르는 것만으로 업무가 끝나지는 않습니다. 어제 자료를 다시 받거나 저장이 덜 끝난 파일을 넘기면 다음 집계도 잘못될 수 있습니다.

RPA 프로그램을 활용한 자동화 프로그램 개발에서는 ‘언제 받는가’와 ‘어떤 파일을 정상으로 인정하는가’를 함께 정해야 합니다. 아래는 승인된 사이트의 정기파일 수집을 개발할 때 필요한 기능과 검수 기준입니다.

Celery beat로 정기 실행과 중복 요청 통제하기

실행 조건으로 사이트 주소, 실행 요일과 시각, 조회할 자료의 기준일을 받습니다. Celery beat는 주기적으로 작업을 보내고 워커라는 실행 담당 프로세스가 처리합니다. 시각을 정하는 기능과 실제 사이트를 조작하는 기능을 나누면 지연이 생긴 위치를 확인하기 쉽습니다.

직접 개발할 부분은 실행 일정과 업무 날짜를 연결하고 중복 실행을 막는 규칙입니다. 예를 들어 월요일에 전 영업일 자료를 받는다면 휴일을 포함한 기준일 계산 방법부터 합의합니다. 같은 자료를 받는 작업이 아직 진행 중이면 새 요청을 막고, 예약 시각이 겹쳐도 다운로드가 중복되지 않는지 검수합니다.

RPA 프로그램 기능 구현 요약
자료: 트램스 · RPA 프로그램 기능 구현 요약

Playwright로 승인된 조회 화면 조작하기

화면 조작에 사용할 입력은 조회 기간, 파일 종류, 사이트에서 이용을 허용한 메뉴입니다. Playwright는 로케이터라는 화면 요소 식별 방식으로 버튼 등을 찾고 자동 대기를 제공합니다. 이를 이용해 날짜 입력란을 채우고 ‘조회’ 후 ‘다운로드’를 누르는 순서를 해당 사이트에 맞춰 개발합니다.

화면 요소를 기다리는 기능이 이용 권한이나 접속 제한을 해결해 주지는 않습니다. 로그인 세션이 만료되면 작업을 멈추고 사용자에게 로그인을 요청하며, 재개할 때 조회 날짜를 다시 확인합니다. CAPTCHA가 나오면 우회하지 않고 사용자 확인으로 넘기며, 두 상황에서 잘못된 화면을 계속 클릭하지 않는지 검사합니다.

파일 생성과 저장이 끝난 뒤 검사 시작하기

조회 버튼을 눌렀다는 사실만으로 파일이 준비됐다고 판단하지 않습니다. 사이트에서 보고서 생성 시간이 필요하다면 생성 완료 표시를 확인한 뒤 다운로드하도록 별도 조건을 만듭니다. 개발 전에는 완료를 알 수 있는 화면 문구와 허용 대기 시간을 정합니다.

RPA 프로그램 업무 처리 순서
자료: 트램스 · RPA 프로그램 업무 처리 순서

내려받는 파일은 검사 전용 임시 위치에 두고, 다운로드 종료 여부와 실제 저장된 파일을 함께 확인하는 절차를 구현합니다. 파일 이름이 보이거나 크기가 잠시 같다는 이유만으로 완료 처리하지 않습니다. 정한 시간 안에 저장이 끝나지 않거나 파일을 열 수 없으면 후속 처리를 막고, 끊긴 다운로드가 다음 집계로 넘어가지 않는지 검수합니다.

pandas로 자료 날짜와 열 제목 대조하기

검사 기준은 정상 파일 예시에서 정하되, 실제 업무 담당자가 필수 항목을 확정해야 합니다. pandas의 read_excel은 Excel 파일의 한 개 또는 여러 시트를 DataFrame이라는 표 형태로 읽을 수 있습니다. 읽어 온 자료에서 어떤 시트와 열을 확인할지는 업무에 맞는 검사 로직으로 작성합니다.

예를 들어 ‘일자·거래처·금액’을 필수 헤더, 즉 열 제목으로 정했다면 누락된 항목이 있는지 대조합니다. 파일명뿐 아니라 파일 안의 자료 날짜도 요청한 기준일과 비교하고, 여러 날짜가 섞여도 되는지와 빈 자료의 허용 여부를 따로 정합니다. 필요한 열이 모두 있고 날짜 조건을 만족한 경우에만 다음 작업에 사용할 파일로 넘깁니다.

RPA 프로그램 기술별 역할
자료: 트램스 · RPA 프로그램 기술별 역할

원본을 보관하고 실패한 자료의 전달 막기

원본 보관은 파일 검사와 함께 직접 구현할 기능입니다. 내려받은 파일은 내용을 바꾸지 않은 채 보관하고, 수집 시각·조회 기준일·원래 파일명을 함께 기록합니다. 재실행한 파일이 이전 원본을 덮어쓰지 않도록 구분하고, 검사에서 탈락한 자료도 정상 자료와 분리해 원인을 확인할 수 있게 합니다.

검수에서는 오늘 날짜로 조회했는데 어제 자료가 내려오는 상황을 반드시 재현합니다. 이때 파일 저장은 완료되더라도 날짜 검사에서 차단되고, 뒤에 연결된 집계나 업로드가 실행되지 않아야 합니다. 담당자에게 요청일과 파일 안의 날짜 차이를 보여 주고, 수정 후 다시 받은 파일도 같은 검사를 거치게 합니다.

개발 문의 시 승인된 사이트의 조회·다운로드 화면 예시와 민감정보를 가린 정상 Excel 파일을 보내 주시면 구현 범위를 구체화할 수 있습니다. 실행 일정과 연결할 후속 집계 업무를 함께 정리해 트램스 AI 제작 문의 (https://trams.co.kr/ai-si/contact/#inquiry)로 문의해 주세요.

참고 자료

  1. https://trams.co.kr/ai-si/
  2. https://playwright.dev/docs/locators
  3. https://docs.celeryq.dev/en/stable/userguide/periodic-tasks.html
  4. https://pandas.pydata.org/docs/reference/api/pandas.read_excel.html
TRAMS AI

비슷한 AI 서비스를
사업에 적용하고 싶으신가요?

아이디어와 필요한 기능을 알려주시면 제작 범위와 방법을 검토합니다.

프로젝트 문의