관심 대상 집합을 포함하는 행을 필터링
- Name열에서 집합 ['kyungan3', 'kyungan5']중 한 값을 포함하는 모든 행
- Date열에서 집합 ['2007-06-04', '2007-11-13']중 한 값을 포함하는 모든 행
다음 예제 코드는 행의 데이터 값이 어떤 집합의 원소를 포함하는지 판별하고, 전체 행에서 관심집합의 값을 포함하는 행들(부분집합)을 찾아 화면 및 파일로 출력
- 코드설명 -
7 #important_dates = ['2007-06-04', '2007-11-13', '2007-12-12']
8 important_stations = ['kyungan3', 'kyungan5']
8행(7행)
- 관심값에 해당하는 name을 important_stations 변수에 리스트형(type)으로 할당
19 #a_date = row_list[2]
20 a_name = row_list[1]
21 #if a_date in important_dates:
22 if a_name in important_stations:
23 print(row_list)
24 fwriter.writerow(row_list)
20행(19행)
- freader로 읽은 csv 파일의 각 행에서 name열(row_list[1])을 로드하여 a_name변수에 할당
( - freader로 읽은 csv 파일의각 행에서 date열(row_list[2])을 로드하여 a_date변수에 할당 )
22행(21행)
- if 문을 사용해 a_name 변수에 들어있는 name 열의 데이터 값이 important_stations 에 있는 관심 집합에 포함되는지 판별
( - if 문을 사용해 a_date 변수에 들어있는 date 열의 데이터 값이 important_date에 있는 관심 집합에 포함되는지 판별 )
23행, 24행
- 22행의 판별결과로 a_name가 important_stations에 포함된다면, 화면 및 파일에 출력
(*) 주석 처리된 부분을 기존 코드와 대체하면 - 관심값을 name에서 date로 변경하여 필터링
(*) 출력파일로 설정한 r_filtering_value_in_set.csv를 통해 결과 확인
(*) 소스코드 첨부(csv파일은 [CSV]파일 읽고 쓰기(2) 에서 확인가능...)
'Python' 카테고리의 다른 글
[CSV] 열의 인덱스 값을 사용하여 특정 열을 선택 (0) | 2018.11.27 |
---|---|
[CSV] 패턴, 정규 표현식을 활용한 필터링 (0) | 2018.11.26 |
[CSV] 특정 조건을 충족하는 행의 필터링 (0) | 2018.11.23 |
[CSV] 파일 읽고 쓰기(2) (0) | 2018.11.22 |
[CSV] 파일 읽고 쓰기(1) (0) | 2018.11.21 |