중복되는 컬럼 제거를 할 것입니다.
DT에는 컬럼이 중복되어서 들어가지 않는데 무슨 소리냐 하신다면...
Data Scraping을 하였는데 컬럼이 되어야 할 열에 중복되는 데이터가 들어가는 상황이었습니다.
근본적으로 Data Scraping이 왜 잘못되는지 파악한 후, 그것을 조치하는 게 맞겠지만.. 역시나 시간이 없고 간헐적으로 발생하는 문제라서 .. 임시방편으로 다음과 같이 해결하였습니다.
저의 경우에는 C, D, E 같은 데이터를 가진 열이 중복되어 들어가는 상황이었습니다.
Data Scraping이 이상하게 되는 현상을 재현할 수 없어 위와 같이 데이터를 생성하였습니다.
Invoke Code를 사용하여 해결하였고 코드는 아래와 같습니다.
// Column Name을 담을 List를 생성
Dim lst As New List(Of String)()
// 0번째 Row를 중복제거하여 반복
For Each i As String In dtSampleData.Rows(0).ItemArray.Distinct()
// 똑같은 값이 1개 이상 있다면 If 문 실행
If (dtSampleData.Rows(0).ItemArray.Where(Function(x) x.ToString = i.ToString).Count>1) Then
// 중복된 열의 맨 마지막 인덱스로 Column Name을 구해서 lst에 Add
lst.Add(dtSampleData.Columns(Array.LastIndexOf(dtSampleData.Rows(0).ItemArray, i.ToString)).ToString)
End If
Next
For Each j As String In lst
// 아까 구한 Column Name으로 중복 열 제거
dtSampleData.Columns.Remove(dtSampleData.Columns(j.ToString))
Next
제가 생각해낸 방법은 이것입니다.. 더 좋은 방법이 있다면 댓글 달아주십시오..다 만들고 나니.... UiPath Activity로도 충분히 구현 가능했군용...................
끝입니다. 감사합니다.
'RPA' 카테고리의 다른 글
[UiPath] 음성인식으로 reCaptcha 풀어보기 - 2 (0) | 2023.02.18 |
---|---|
[UiPath] 음성인식으로 reCaptcha 풀어보기 - 1 (2) | 2023.02.18 |
[UiPath] Activate가 안될 때 (3) | 2022.11.16 |
[UiPath] 디렉토리의 파일명만 가져오기 (3) | 2021.12.28 |
[UiPath] 디렉토리 사이즈 구하기 (0) | 2021.12.16 |