PDF 텍스트 추출 후 파싱할 때, 보통 어떤 식으로 하시나요?
Flow Decision Activity 를 사용하든, If Activity 를 사용하든, 일반적인 날코딩으로 할 때보다 가독성이 좀 떨어진다는 느낌이 들어서요.
UiPath Studio 에서 else if 구문을 쓰려면 else 블록 안에다 또 if 문을 넣어야 하고, 여러 조건을 넣다보면 아래로 옆으로 엄청 퍼지게 될텐데, 다른 분들은 눈으로 보기에 익숙해지셨나요?
PDF 텍스트 추출 후 파싱할 때, 보통 어떤 식으로 하시나요?
Flow Decision Activity 를 사용하든, If Activity 를 사용하든, 일반적인 날코딩으로 할 때보다 가독성이 좀 떨어진다는 느낌이 들어서요.
UiPath Studio 에서 else if 구문을 쓰려면 else 블록 안에다 또 if 문을 넣어야 하고, 여러 조건을 넣다보면 아래로 옆으로 엄청 퍼지게 될텐데, 다른 분들은 눈으로 보기에 익숙해지셨나요?
저는 split 하고 for each로 반복 돌려서 필요한 구문이 있는지 (contain) 알아보고 해당 구문만 사용하는 방식을 했었습니다.
사용하는 용도에 따라 다를거 같아요
저는 필요한 내용이 섞여있는 문서에서 일자(date)만 필요한 작업이었습니다.
네, 행단위로 split 하고 for each 돌리면서 끄집어내야 하는데, 한 두 항목이면 괜찮은데 항목이 많아 지니 상당히 복잡해보이더라구요. PDF Invoice 문서를 DB 에 바로 넣을 수 있는 형태로 엑셀에 정형화해야 하는 일에서요.
윗분 말씀처럼 전체 PDF를 읽어온 텍스트 데이터에서 날짜데이터만 필요하면 정규표현식을 사용해서 원하는값만 들고올수 있을꺼같고 한개의 인보이스 파일에서 많은 데이터를 추출해야하면 현업에게 물어봐서 PDF로 돌리기전 엑셀파일양식이 존재하는지 가능하면 그걸로 작업하고 그마저도 마땅치않을경우 현업이 PDF를 보는 방식대로 PDF를 키고 찾기를 통하여 접근하는게 빠른경우도 있었습니다.
다중 IF문의 경우엔… 중첩 IF문을 많이 사용했는데 나중에는 가독성이 너무 떨어져서 FlowChart를 따로 만들어서 프로세스 맵이 다 보이게끔 작업을 돌린거같네요… 최대한 한개의 IF라도 덜어보려고 컨디션문을 복잡하게 작성하거나… 했던거같습니다.
중첩 if문을 하셔서 옆으로 넒어지는게 보기 싫으시다면
switch로 처리는 어떠신가요?
모든케이스에 쓸수있는 액티비티는 아니지만 switch로 처리가 가능하시면 쓰시는것도 괜찮을듯 합니다.
다양하게 시도해보셨군요. 그래도 역시나 분기문이 많아지면 딱히 방법이 없나봐요. 으흑
스위치문도 생각해봤는데, 아무래도 적용 못하는 경우가 많아 활용하기가 쉽지 않네요. 답변 감사합니다.