import csv
f = open("seoule.csv", "r", encoding = "utf8")
data = csv.reader(f, delimiter = ",")
header = next(data) # 처음 헤더정보를 읽어옴
print(header)
max_temp = -999 # 최고 기온을 저장할 변수 초기화
max_data = "" # 최고 기온이었던 날짜를 저장할 변수 초기화
min_temp = 999 # 최저 기온을 저장할 변수 초기화
min_data = "" # 최저 기온이었던 날짜를 저장할 변수 초기화
for row in data: # 헤더 다음 row부터 읽어 옴
print(row)
if row[-1] == "":
row[-1] = -999
if row[-2] == "":
row[-2] = 999
row[-1] = float(row[-1])
row[-2] = float(row[-2])
if max_temp < row[-1]:
max_temp = row[-1]
max_data = row[0]
if min_temp > row[-2]:
min_temp = row[-2]
min_data = row[0]
f.close()
print (f"대한민국 서울 기상관측 이례 가장 더웠던 날짜: {max_data}, 온도:{max_temp} 입니다.")
print (f"대한민국 서울 기상관측 이례 가장 추웠던 날짜: {min_data}, 온도:{min_temp} 입니다.")
입력받은 날짜의 최고온도 최저온도 구하기
import csv
import datetime as dt
f = open("seoule.csv", "r", encoding = "utf8")
data = csv.reader(f, delimiter = ",")
inData = input("날짜(YYYY-MM-DD)를 입력하세요: ")
next(data)
found = False
for row in data: # 헤더 다음 row부터 읽어 옴
if row[0] == inData:
print(f" 입력한 날짜: {inData} 서울의 최고온도: {row[-1]} 최저온도: {row[-2]} 입니다.")
found = True
break
if not found:
print("해당 날짜의 데이터가 존재하지 않습니다. ")
f.close()
내가 태어난 이후의 생일에 최고기온 최저기온 변화 추이 분석
import csv
import matplotlib.pyplot as plt
#import matplotlib.font_manager as fm
# 나눔글꼴 경로 설정
#font_path = 'C:/Windows/Fonts/NanumGothic.ttf'
# 폰트 이름 가져오기
#font_name = fm.FontProperties(fname=font_path).get_name()
# 폰트 설정
# plt.rc('font', family=font_name)
f = open("seoule.csv", "r", encoding = "utf8")
data = csv.reader(f, delimiter = ",")
next(data)
hight = [] # 최고 기온 데이터를 저장할 리스트 생성
low = [] # 최저 기온 데이터를 저장할 리스트 생성
for row in data:
if row[0] < "1970-06-01":
continue
if row[-1] != "": # 최고 기온 데이터 값이 존재한다면
if row[0].split("-")[1] == "06" and row[0].split("-")[2] == "01": # 매년 6월 1일 데이터만 추출
hight.append(float(row[-1])) # hight 리스트에 최고 기온 값 추가
if row[-2] != "": # 최저 기온 데이터 값이 존재한다면
if row[0].split("-")[1] == "06" and row[0].split("-")[2] == "01": # 매년 6월 1일 데이터만 추출
low.append(float(row[-2])) # low 리스트에 최wj 기온 값 추가
f.close()
plt.rc("font", family = "Malgun Gothic")
plt.rcParams["axes.unicode_minus"] = False
plt.title("내 생일의 기온 변화 그래프") # 제목
plt.plot(hight, color = "hotpink") # highit 리스트에 저장된 값을 hotpink색으로 그래프로 그리기
plt.plot(low, color = "cyan") # low 리스트에 저장된 값을 cyan색으로 그래프로 그리기
plt.legend() # 범례의 위치 지정
plt.show()