Blair  - Soul Eater [파이썬 개념] 데이터 분석 3- csv 파일 쓰기, 파일 생성, 파일 저장, 내용 입력(csv파일첨부)

• programming language/python

[파이썬 개념] 데이터 분석 3- csv 파일 쓰기, 파일 생성, 파일 저장, 내용 입력(csv파일첨부)

oujin 2022. 7. 20. 15:53
728x90

● 해당 파일은 아래와 같은 정보가 저장되어 있는 csv 파일 입니다.

['지점', '일시', "평균기온('C)", "최저기온('C)", "최고기온('C)"]

 newline='' : 파일을 쓸 때 행의 끝에 빈 줄을 삽입하지 말라는 옵션입니다. 만약 이 옵션이 생략되면 생성된 CSV 파일의 각 행에 빈 행이 추가됩니다.

 

●month_temp.csv 파일을 읽어 일교차를 구하고 -> 새롭게 구성된 데이터를 CSV 파일에 저장 해보겠습니다.

 

month_temp.csv
0.00MB

 

 

import csv

 

# file1은 첨부된 파일
file1 = open('month_temp.csv', 'r', encoding='utf-8')

 

# file2는 새로 만들어서 내용을 입력할 파일
file2 = open('month_temp2.csv', 'w', encoding='utf-8', newline='')

 

# file1을 한줄씩 읽어서 lines에 넣기

lines = csv.reader(file1)

 

# csv.writer() 메소드를 이용하여 writer의 객체인 wr을 생성, 데이터를 한행씩 wr객체에 추가 가능
wr = csv.writer(file2)


#wr.writerow() 메소드를 이용하여 wr 객체에 CSV 파일의 헤더가 되는 제목 행추가

#리스트형의 데이터

wr.writerow(['일자', '최저기온', '최고기온', '일교차']) 

 

# 헤더를 건너뜀
next(lines)


for line in lines:
    diff = float(line[4]) - float(line[3])  #일교차구하기(최고기온-최저기온)
    diff = format(diff, '.1f')

 

    #format() 함수를 이용하여 변수 diff를 소수점 이하 1자리까지만 표시
    wr.writerow([line[1], float(line[3]), float(line[4]), diff])

print('파일 쓰기 완료!')
file1.close()
file2.close()

파일 쓰기 완료!

코드가 저장된 파일에 month_temp2.csv라는 파일이 생성되어 있을 것이다.

 

 

 

 

 

 

 

 

 

 

 

 

 

출처: 예제 중심 파이썬 입문

궁금한 부분이 있으면 댓글 부탁드립니다^^

728x90