Colab 링크: 기온 데이터 분석 (Google Colab)
Github: python-bigdata-colab-practice
from google.colab import drive
import os
import csv
drive.mount('./gdrive', force_remount=True)
print(os.getcwd())
f = open('./gdrive/MyDrive/Colab Notebooks/ch4_temperature/temperature.csv', 'r', encoding='cp949')
data = csv.reader(f, delimiter=',')
# 헤더 건너 뛰기
# next(data) 를 호출하면 첫 번째 행(헤더)을 반환하면서 이터레이터 내부 포인터가 다음 행으로 넘어감.
header = next(data) # ['날짜', '지점', '평균기온(℃)', '최저기온(℃)', '최고기온(℃)']
# 최고기온 찾기 및 오류 처리
max_temp = None
max_row = None
errors = []
# data 순회
for lineno, row in enumerate(data, start=2):
# 빈 행은 건너뛰기
if not row:
continue
# 컬럼 개수가 기대치(여기선 최소 5개)보다 작으면 건너뛰기
if len(row) < 5:
continue
# 최고기온 데이터 타입을 실수타입으로 변환
try:
row[-1] = float(row[-1])
except ValueError:
errors.append((lineno, row))
continue
# 최고기온 갱신
if (max_temp is None) or (row[-1] > max_temp):
max_temp = row[-1]
max_row = row
# 데이터 수집 종료
f.close()
# 결과 출력
print(f'기상 관측 이래, 최고 기온이 가장 높았던 날은 {max_row[0].strip()}로, {max_temp} 도 입니다.')
# 결측치/오류 결과 출력
print(f'결측 및 오류가 발생한 일수는 {len(errors)}일입니다.')