CSV 파일에 불필요한 열이 포함되어있는 경우, 필요한 열만 필터링하여 활용
- 열의 인덱스 값을 사용하는 방법
- 열의 헤더를 사용하는 방법
열의 인덱스 값을 이용해 특정 열을 필터링
- 열의 인덱스 값을 쉽게 식별가능
- 여러개의 입력 파일 처리 하기 위한 모든 입력 파일에서 열의 위치가 변경되지 않는 경우
다음 예제 코드는 Name 및 BOD, TN, T-P 열만 사용하기 위해 인덱스 값을 이용한 필터링 수행
- 코드설명 -
8 selected_columns = [1, 6, 9, 10]
8행
- CSV에서 추출하려는 4열의 인덱스 값을 갖는 selected_column 리스트변수 생성
14 for row_list in freader:
15 row_list_output = []
16 for index_value in selected_column:
17 row_list_output.append(row_list[index_value])
18 print(row_list_output)
19 fwriter.writerow(row_list_output)
15행
- CSV에서 추출하고자 하는 각 행의 값을 저장하기 위한 row_list_output 리스트변수 생성
16행
- selected_column에 저장되어있는 관심 인덱스 값을 반복하는 for문
17행
- 리스트의 append()함수를 사용해 selected_column에 정의된 특정 인덱스의 데이터 값을 row_list_output에 추가
- fwriter의 writerow()함수는 문자열이나 숫자의 시퀀스 자료형을 받으므로 리스트변수(row_list_output)를 만들어 놓는것이 유용함
18, 19행
- row_list_output의 값을 화면 및 파일에 출력
(*) 출력파일 로 설정한 r_filtering_by_column_index.csv를 통해 결과 확인
(*) 소스코드 파일 첨부(csv파일은 [CSV] 파일 읽고 쓰기(2) 에...)
'Python' 카테고리의 다른 글
[CSV] 행의 연속선택 (0) | 2018.12.12 |
---|---|
[CSV] 열의 헤더를 사용하여 특정 열을 선택 (0) | 2018.11.27 |
[CSV] 패턴, 정규 표현식을 활용한 필터링 (0) | 2018.11.26 |
[CSV] 특정 집합의 값을 포함하는 행의 필터링 (0) | 2018.11.24 |
[CSV] 특정 조건을 충족하는 행의 필터링 (0) | 2018.11.23 |