[excel - python - uipath] 엑셀 자동화에 대해서 알아보자(6-1)

루까까·2023년 8월 2일
0

Excel 자동화

목록 보기
11/25

이번 시간에는 Delete Column/Rows activity에 대해서 알아보자.

1. Delete Column

Delete Column은 특정 열 혹은 특정 열들을 삭제해주는 기능을 제공하는 activity다.
해당 기능을 통해 지우고 싶은 열들을 손쉽게 지울 수 있다.

  • 소스에는 시트 혹은 범위를 기입을 해주면 된다.
  • 열 이름에는 내가 지우고자 할 열을 기입을 하면 된다.
    • 단일 열 혹은 여러 열을 지우는 기능 또한 가능하다.
  • 열을 삭제하고자 할 때 머리글 포함 체크박스에 따라 지우는 방법이 다르다.
    • 단일 열을 삭제하고자 할 때,
      • 머리글이 포함 되어 있다.
        • 삭제하고자 할 머리글 기재(A열의 머리글이 머리글1일 경우 머리글1로 기입)
      • 머리글이 포함 되어 있지 않다.
        • 삭제하고자 할 컬럼명 기재(A열인 경우 A)
    • 여러 열을 삭제하고자 할 때,
      - 머리글이 포함 되어 있다.
      - 지원하지 않는다.
      - 머리글이 포함 되어 있지 않다.
      - 삭제 하고자 할 컬럼명 기재(A열부터 D열인 경우 A:D로 기입 또는 A,B,D열만 삭제하려고 하면 A,B,D로 기입)

      행을 삭제 시킨 후 에는 자동으로 정렬된다.
      예를들어 3 x 5 데이터가 있다고 가정하였을 때,
      중간 2열을 지운다고 하면 1 2 3에서 2를 삭제한 1 (지움) 3이 아닌 1 3로 정렬된다.
      (엑셀에 셀을 왼쪽으로 밀기 기능이랑 같다고 생각하면 편하다)

주의해야할 점은 여러 열을 삭제하고자 할 때, 머리글 포함을 체크하면 오류가 발생하니 꼭 알아 두자.

Delete Column 공식문서

2. Delete Rows

Delete Rows는 특정 행 혹은 특정 행들을 삭제해주는 기능을 제공하는 activity다.(왜 애는 Rows지?)
해당 기능을 통해 지우고 싶은 행을 손쉽게 지울 수 있다. 다만, 위에서 설명한 Delete Column과 다르게 여러가지 기능을 추가적으로 제공한다.

  • 테이블 또는 범위 지정은 마찬가지로 시트 또는 범위를 기입하면 된다.
  • 삭제 기능은 총 4가지를 지원한다.
    1. 특정 행
      • 지우고 싶은 특정 행을 지우는데 사용된다.
      • 단일 행, 복수 행 모두 지원한다.
        • 단일 행은 단일 숫자로(ex.3) 복수 행은 숫자-숫자로 기입한다.(ex.3-4)
    2. 표시되는 모든 행
      • 표시되는 모든 행만 삭제한다.
      • 속성(해당 activity를 선택한 우측 화면)에 옵션 머리글 포함여부를 선택하면 머리글은 제외하고 삭제한다.
    3. 모든 숨겨진 행
      • 숨겨진 행이나 필터링된 모든 행을 삭제한다.
    4. 모든 중복 행
      • 중복으로 기재되어 있는 행을 삭제한다.
      • 중복만은 삭제하기에 같은 내용은 하나 남긴다. 즉, 3개행이 중복이면 1개를 제외한 2개는 삭제한다.

열과 마찬가지로 행을 삭제 시킨 후 에는 자동으로 정렬된다.
예를들어 3 x 5 데이터가 있다고 가정하였을 때,
중간 4행을 지운다고 하면 1 2 3 4 5에서 4를 삭제한 1 2 3 (지움) 5 가 아닌 1 2 3 5로 정렬된다.
(엑셀에 셀을 위로 밀기 기능이랑 같다고 생각하면 편하다)

Delete Rows 공식문서

3. 연습

3-1. Delete Column

연습용.xlsx sheet1에 다음과 같은 데이터가 있다고 가정하자.

해당 데이터에서 A열인 머리글1을 삭제해보자.(머리글 포함은 체크하여 진행하였다.)

해당 로직을 실행한 결과로는,

위에서 설명하였듯이 1열이 삭제되고 자동으로 2열 3열이 왼쪽으로 밀린 모습이다.

3-1. Delete Rows

연습용.xlsx sheet1에 다음과 같은 데이터가 있다고 가정하자.

해당 데이터에서 3행, 4행을 삭제해보자.
3행, 4행이라는 특정행이며 복수 행이니 로직은 다음과 같다.

해당 로직을 실행한 결과로는,

마찬가지로 3행, 4행이 삭제되고 자동으로 5행이 위로 밀린 모습이다.

여담

Delete Rows의 경우 단일 열과 복수 열 머리글 포함 여부에 따라 열 이름을 다르게 기입해줘야하는 귀찮은 점이 있다.
이 점을 uipath에서도 인지하였는지 해당 activity에서 열 이름 기입을 쉽게 할 수 있는 기능을 제공한다.

'+'를 누르면 우측에 창이 뜨는데 해당 창을 통해 어떤 열 이름을 기입해야 하는지 알려 준다.
위에 3-1 연습에 쓰였던 엑셀을 예로 들어서 보여주면,

맨 우측에 어떤 열 이름을 선택하면 되는지 쉽게 보여준다.
만약 여기서 머리글 포함 여부를 표시하지 않는다면,

이런식으로 열 이름을 다르게 표시해야되는지 알려준다.
해당 기능은 단일 열을 지우는데 보여주는 기능이라 복수 열을 지울 경우에는 수기로 작성해야 한다.(물론 위에서 언급한 여러 조건들을 사용자가 고려해서 수기로 기입해야 한다.)

profile
기타치는 개발자

0개의 댓글