[모두의 데이터분석] Unit02 서울의 기온 데이터 분석하기
이번 유닛에서는 csv 파일에서 데이터를 읽어오는 방법과 데이터를 출력하는 방법을 배우고
직접 서울의 기온 통계자료 데이터를 분석하는 것이 목표이다.
먼저 기상자료개방포털에서 csv파일을 다운로드한다.
다운로드한 csv파일에서 불필요한 1~7행을 삭제하고 파일 이름을 seoul.csv로 변경한다.
그리고 주피터 노트북을 실행한다.
실행했다면 새로운 파이썬 노트북을 생성해서 빈 셀에 코드를 작성한다.
여기 작성된 코드를 첫 줄부터 자세히 보면
- csv 모듈을 불러온다.
- csv 파일을 open() 함수로 열어서 f에 저장한다.
- f를 reader() 함수에 넣어 data라는 객체를 생성한다.
- data를 출력한다.
- 열었던 파일을 다시 닫는다.
이렇게 코드가 진행되는걸 알 수 있다.
여기서 두번째줄 f = open('seoul.csv', 'r', encoding='cp949') 는
seoul.csv 파일을 읽기 모드로 읽어오되 cp949라는 형식으로 읽어오라는 의미이다.
세번째줄 data = csv.reader(f, delimiter=',') 은
두번째줄 코드를 통해 읽어온 csv 파일 데이터를 콤마(,) 기준으로 분리해서 저장하라는 의미이다.
이 코드는 data = csv.reader(f)로 줄여서 쓸 수 있다.
**이 때 유의해야 할 것이 있다.
만약 읽어오려는 csv파일과 파이썬 코드 파일이 저장된 위치가 다르면
코드가 진행되지 못하고 다음과 같은 오류가 뜬다.
꼭 csv 파일과 파이썬 코드 파일을 같은 곳에 저장하도록 하자.
이제 데이터를 출력해 볼 것인데
for 반복문을 사용하여 csv 파일에 저장된 데이터를 한 줄씩 읽어오고 한 줄씩 출력할 것이다.
아까 진행했던 코드에 for 반복문을 추가했다.
실행 결과를 보면 각 행의 데이터는 '리스트' 형식이고 문자열 데이터로 이루어져 있음을 알 수 있다.
아까 코드의 실행 결과를 보면 맨 첫번째 행이 '헤더'인 것을 볼 수 있다.
이번엔 헤더 데이터 행을 건너 뛰고 나머지 행들만 출력해 보자.
next() 함수를 이용하면 첫번째 데이터 행을 읽어오면서 데이터의 탐색 위치를 다음 행으로 이동시킬 수 있다.
unit02에서는 csv 파일을 읽어오고 출력하는 방법을 배웠다.
그리고 실행 결과를 통해 파일이 어떻게 정리되어 있는지 확인했다.
다음 유닛에서는 이번 유닛에서 배운 내용을 이용해 직접 질문을 하고 그 답을 출력해 볼 것이다.