CSV
‘Comma-Separated Values’의 약자로 각각의 데이터 값을 콤마(,)로 구분하는 파일 형식
정부에서 운영하는 공공데이터포털(www.data.go.kr)이 제공하는 일반적인 파일 형식
CSV 파일에서 데이터 읽어오기
csv.reader() 함수 : CSV 파일에서 데이터를 읽어오는 함수
csv.writer() 함수 : CSV 파일에서 데이터를 저장하는 함수
import csv # csv 모듈 불러오기
f = open('seoul.csv', encoding='cp949') # csv 파일을 open() 함수로 열어서 f에 저장
data = csv.reader(f) # f를 reader() 함수에 넣어 data라는 csv reader 객체 생성
for row in data :
print(row)
f.close() # 연 파일을 닫기
헤더 저장하기
헤더 : 데이터 파일에서 여러 가지 값들이 어떤 의미를 갖는지 표시한 행
next 함수로 헤더 별도 저장 가능
next 함수는 첫 번째 데이터 행을 읽어오면서 데이터의 탐색 위치를 다음 행으로 이동시키는 명령
import csv
f = open('seoul.csv', encoding='cp949')
data = csv.reader(f)
header = next(data) # header라는 변수에 헤더 데이터 행 저장
print(header) # header라는 변수 출력
f.close()
서울의 기온이 가장 높았던 날의 날짜와 기온 구하기
import csv # CSV 모듈 불러오기
f = open('seoul.csv') # seoul.csv 파일 읽기 모드로 불러오기
data = csv.reader(f)
header = next(data) # 맨 윗줄을 header 변수에 저장하기
max_temp = -999 # 최고 기온을 저장할 변수 초기화
max_date = '' # 최고 기온이었던 날짜를 저장할 변수 초기화
for row in data :
if row[-1] == '' : # 만약 데이터가 누락되었다면 최고 기온을 -999로 저장
row[-1] = -999
row[-1] = float(row[-1]) # 문자열로 저장된 최고 기온 값을 실수로 변환
if max_temp < row[-1] : # 만약 지금까지 최고 기온보다 더 높다면 업데이트
max_date = row[0]
max_temp = row[-1]
f.close() # 파일 닫기
print('기상 관측 이래 서울의 최고 기온이 가장 높았던 날은',max_date+'로,', max_temp,'도 였습니다.') # 출력
'Theory > Data Analysis' 카테고리의 다른 글
[통계 분석] 06 유의성 검정 / 통계 분석 프로세스 (0) | 2023.09.30 |
---|---|
[통계 분석] 05 확률 분포 / 표본으로 모집단 추정 / 인과 관계와 상관 관계 (0) | 2023.09.30 |
[통계 분석] 04 범주형(질적) 데이터 요약 / 모집단 추정과 확률 변수 (0) | 2023.09.29 |
[통계 분석] 03 연속형(양적) 데이터 요약 (0) | 2023.09.29 |
[통계 분석] 02 데이터 확보 / 데이터 요약의 이해 (0) | 2023.09.29 |
댓글