티스토리 뷰
↓↓↓ 튜토리얼1. 데이터 불러오기 및 데이터 조회
이번 튜토리얼2에서는 불러온 데이터를 가지고 데이터 필터링을 하는 방법을 알아볼게요.
데이터 불러오고 조회하는 방법에 대해서는 튜토리얼 1편을 봐주세요~!
먼저 기본적인 필터링으로 10가지 종류가 있습니다
설명을 봐도 이해가 되지 않는다면 아래에서 직접 실행해보면서 확인해봅시다!
필터링 | 설명 | |
1 | == | 입력한 키워드와 동일한 데이터 |
2 | !== | 입력한 키워드와 동일하지 않은 데이터 |
3 | Contain | 입력한 키워드가 포함된 데이터 |
4 | Not Contain | 입력한 키워드가 포함되지 않은 데이터 |
5 | in | 입력한 여러 키워드들 중 한 키워드 이상 동일한 데이터 |
6 | Not in | 입력한 여러 키워드들 중 한 키워드 이상 동일하지 않은 데이터 |
7 | startsWith | 입력한 키워드로 시작하는 데이터 |
8 | endsWith | 입력한 키워드로 끝나는 데이터 |
9 | isNull | null인 데이터 |
10 | NotNull | null이 아닌 데이터 |
튜토리얼1에서 제가 사용한 데이터는
서울특별시_국민기초생활 수급자 동별 현황_07_31_2021.csv 입니다.
요 데이터를 가지고 데이터필터링도 진행해보도록 하겠습니다.
https://www.data.go.kr/data/15086093/fileData.do
1. == : 입력한 키워드와 동일한 데이터
==> 시군구가 "종로구" 인 데이터만 추출
Table filter = tb.where(tb.stringColumn("시군구").isEqualTo("종로구"));
System.out.println(filter);
2. !== : 입력한 키워드와 동일하지 않은 데이터
==> 시군구가 "종로구"가 아닌 데이터만 추출
Table filter2 = tb.where(tb.stringColumn("시군구").isNotEqualTo("종로구"));
System.out.println(filter2);
3. Contain : 입력한 키워드가 포함된 데이터
==> 시군구에 "동구" 키워드가 포함된 데이터
Table filter3 = tb.where(tb.stringColumn("시군구").containsString("동구"));
System.out.println(filter3);
4. Not Contain : 입력한 키워드가 포함되지 않은 데이터
==> 시군구에 "동구" 키워드가 포함되지 않은 데이터
Table filter4 = tb.dropWhere(tb.stringColumn("시군구").containsString("동구"));
System.out.println(filter4);
5. in : 입력한 여러 키워드들 중 한 키워드 이상 동일한 데이터
==> 시군구가 "종로구", "강동구" 인 데이터
Table filter5 = tb.where(tb.stringColumn("시군구").isIn("종로구", "강동구"));
System.out.println(filter5);
6. Not in : 입력한 여러 키워드들 중 한 키워드 이상 동일하지 않은 데이터
==> 시군구가 "종로구", "강동구"가 아닌 데이터
Table filter6 = tb.where(tb.stringColumn("시군구").isNotIn("종로구", "강동구"));
System.out.println(filter6);
7. startsWith : 입력한 키워드로 시작하는 데이터
==> 시군구가 "강"으로 시작하는 데이터
Table filter7 = tb.where(tb.stringColumn("시군구").startsWith("강"));
System.out.println(filter7);
8. endsWith : 입력한 키워드로 끝나는 데이터
==> 시군구가 "로구"로 끝나는 데이터
Table filter8 = tb.where(tb.stringColumn("시군구").endsWith("로구"));
System.out.println(filter8);
9. isNull : null인 데이터
==> 시군구가 공백이거나 null 인 데이터
tb.where(tb.stringColumn("시군구").isMissing());
10. Not null : null이 아닌 데이터
==> 시군구가 공백이거나 null이 아닌 데이터
공백, null만 제외하고 출력됨을 보여주기 위해서
공백, null, none 을 시군구에 넣어봤어요
공백, null은 모두 지워졌지만 none은 필터링 되지 않았습니다 !
그 외 여러 멀티 필터링이 들어갈 때의 사용법 예시
Table filtered = aTable.where(
aTable.stringColumn("Status").isEqualTo("Ok")
.and(aTable.numberColumn("Age").isGreaterThan(21)));
더 많은 필터링에 대해서는 아래 tablesaw 깃헙 URL을 참고해주세요!
https://jtablesaw.github.io/tablesaw/userguide/filters.html
끝
'프로그래밍 > Java' 카테고리의 다른 글
[오류해결] JAVA에서 JSON API parse시 ALLOW_NON_NUMERIC_NUMBERS, Object타입 등의 에러해결 (0) | 2022.07.12 |
---|---|
[java/spring] multiple checkbox request.getParameter (0) | 2022.06.28 |
[java-Tablesaw] java jTablesaw tutorial! jTablesaw 기초사용법 (0) | 2022.05.18 |
[spring] java spring에서 파일업로드 시 MaxUploadSizeExceeded 오류 해결 (0) | 2022.05.17 |
[spring] spring web project에 mongoDB 연동하기 (0) | 2022.05.16 |