메모장

파이썬 데이터 가져오기 (csv 파일) 본문

Python/개념정리

파이썬 데이터 가져오기 (csv 파일)

Itchild 2024. 5. 7. 16:26
728x90
반응형

▪️ 참고한 사이트
https://data.kma.go.kr/cmmn/main.do

 

기상자료개방포털

날씨! 데이터가 되다 기 상 청 API허브

data.kma.go.kr

 

 

기온 분석 자료를 가져옵니다 !

기간을 설정해주고 csv 파일로 다운 받습니다.

 

✔️ csv 파일을 다뤄야 한다.! ( , 로 나눠져 있기 때문에 split 하기 좋아서 )

✔️ .py 파일(모듈 파일, 동작시킬 스크립트 파일)과 같은 디렉터리에 csv 파일이 존재해야한다.

 

➡️ 우리나라 기온 자료 에서 1950년대 한국전쟁 기간동안은 기록이 빠져있다.

# 데이터 loss 난 곳이 있어서 null 처리 꼭 해줘야 한다.

 

import csv

with open('a.csv','r',encoding='cp949') as file: # 파일이 깨지지 않기위해 인코딩 'r'텍스트 파일이 아니라서 
    data=csv.reader(file,delimiter=',')

    # 헤더 별도로 저장하기
    header=next(data) # 이터레이터, rs.next()와 유사한 함수
    print(header)

    
    cnt=0
    for row in data:
        print(row) ## 100개 까지만 출력해보기 
        cnt+=1
        if cnt==100:
            break  

데이터 출력 성공 !

 

이제 이 데이터를 가지고 조사 해볼 수 있다 !

 

⭐ 최고 기온 구하기

    maxTemp=0.0 #최고 기온
    maxDate='' # 그날의 날짜 
    for row in data:
        if row[-1]=='': # null 값이면 #1950년대 한국 전쟁 때는 기록이 없기 때문에 
            row[-1]=0.0 # 0.0 으로 바꿔주세요 
        row[-1]=float(row[-1]) # 데이터 형 변환
        if maxTemp <= row[-1]:
            maxTemp=row[-1]
            maxDate=row[0]
        
print(maxTemp) # 이것만 확인 
print(maxDate)
 

 

➡️ 헤더를 참조하면 최고기온은 제일 마지막에 위치하므로 row[-1]

근데 str 타입이기 때문에 형변환을 하지 않으면 에러가 발생한다.

 

##Traceback (most recent call last):

## File "D:/HONG2/python/test10.py", line 28, in <module>

## row[-1]=float(row[-1]) # 데이터 형 변환

##ValueError: could not convert string to float: ''

# 아무것도 없는걸 float 할수 없어요 라는 뜻

 

그래서 꼭 ❗형변환❗을 해줘야 함

 

 

728x90
반응형

'Python > 개념정리' 카테고리의 다른 글

파이썬 데이터 시각화  (0) 2024.05.07
파이썬 기온측정 csv 파일 [ 실습 ]  (0) 2024.05.07
파이썬 내장함수/메서드 [ 실습 ]  (0) 2024.05.07
파이썬 모듈 ( module )  (0) 2024.05.07
파이썬 내장함수/메서드  (0) 2024.05.07