01. 제목
패스트캠퍼스 환급챌린지 27일차 미션 (2월27일) :
파이썬으로 할 수 있는 모든 것 with 47개 프로젝트 초격차 패키지 Online 수강 후기
02. 포스팅 본문 (학습 일기) 가이드
1. 학습 인증샷 2장 이상 포함


2. 학습 후기 700자 이상 (공백 제외)
오늘은 챕터10의 csv 파일 입출력과 파일 입출력 실습문제에 대해서 배웠다.
어제에 이어서 파일 입출력의 pickle 모듈과 with 구문에 대해서 배웠는데, pickle 모듈은 파일에 파이썬 객체를 저장하기 위해 사용하는 모듈이다.
import pickle # 픽클은 내장모듈
data = { # 데이터는 딕셔너리로 만들어줌
"목표1":"매일 팔굽혀 펴기 100회",
"목표2":"매일 코딩 공부 1시간"
}
file = open("data.pickle", "wb") # 파일이름은 data.p / data.pic로 바꿔줘도 됨 , wb는 바이너리모드(컴퓨터가 바로 읽을 수 있는 데이터 형식)
pickle.dump(data, file) # 파일을 오픈했다면 픽클모듈에 있는 덤프함수를 호출, 데이터와 파일 객체를 넘겨줌
file.close()
저장을 하고 읽는 파일로부터 파이썬 객체를 읽는 법은
import pickle
file = open("data.pickle", "rb")
data = pickle.load(file)
print(data)
file.close()
with구문은 with 구문을 사용하지 않았을 때는
file = open("data.txt", " r")
data = file.read()
file.close()
with 구문을 사용하면
with open("data.txt", "r") as file:
data = file.read()
로 바뀐다.
위드 구문을 사용하는 이유는 file.close()를 매번 사용하면서 신경써야 하기 때문에 with as file을 사용하고 나면 항상 file.close()를 자동으로 호출하기 때문에 사용한다.
해당 부분은 아래 실습을 통해 복습하였다.
다음은 CSV파일이란 무엇이고, CSV파일 입출력 사용방법에 대해서 배웠다. 사실 CSV는 웹사이트에서 엑셀파일 업로드나 다운로드 맵핑할때 많이 봤었기때문에 익숙하기도 하고 어떤 파일인지 알고는 있었다. 다만 명확하게 무엇이다라고 설명할 수가 없었는데 강의를 통해서 정확하게 집고 넘어가니 개념을 더 다질 수 있었다.
CSV(comma-separated values) : 데이터가 콤마로 구분된 텍스트 파일 형식이다.
예를 들어 student.csv 라는 이름의 파일안에는
이름,반,번호
정국,9,1
꾸꾸,7,19
제케,6,13
이런식으로 콤마로 데이터들이 쭉 나열되어서 나타난다.
CSV 파일 입출력 사용방법으로 파일 쓰기와 읽기 모두 아래 실습을 통해 정리를 해놓았다.
다음은 파일 입출력 실습문제이고 실습을 따라하고 풀이 해석한 부분은 역시 아래에 첨부해놓았다.
실습문제10.1.1
보유한 주식이 목표가에 도달했을 때의 종목별 수익금과 수익률을 출력해주는 프로그램을 작성해 보자.
mystock.csv 파일로 부터 종목, 매입가, 수량, 목표가 정보를 가져온다.
(참조)
수익금 = (목표가-매입가) * 수량
수익률 = (목표가/매입가-1)*100
mystock.csv
종목,매입가,수량,목표가
삼성전자,85000,10,90000
NAVER,380000,5,400000
표준 출력
삼성전자 50000 5.88%
NAVER 100000 5.26%
csv 형식은 콤마(,) 구분을 한다.
실습을 하다가 오류가 생기면 구글 검색 overflow 사이트에서 질의응답을 참고한다고 했는데 요즘은 chatgpt에 오류에 대한 질문을 하면 답변을 잘해줘서 강사님께서 찾아주신 것과 별개로 chatgpt에 문의 했더니
1) 에러 발생
import csv
file = open("./Chapter10/mystock.csv", "r", encoding="utf-8")
reader = csv.reader(file)
for data in reader[1:]:
print(data)
file.close()
# TypeError: '_csv.reader' object is not subscriptable 에러 발생
2) 구글검색 - 스택 오버플로우 사이트 참조
import csv
file = open("./Chapter10/mystock.csv", "r", encoding="utf-8")
reader = list(csv.reader(file))
for data in reader[1:]:
print(data)
file.close()
# Stack Overflow 답변참고 객체를 list 자료형으로 변환
3) 챗지피티의 답
import csv
file_path = "./Chapter10/mystock.csv"
with open(file_path, "r", encoding="utf-8") as file:
reader = csv.reader(file)
next(reader, None) # 헤더 건너뛰기
for data in reader: # 나머지 행들에 대해 반복
print(data)
# 챗지피티는 계속 with 구문을 넣어서 수정하도록 함
또 소수점 자리수 제한의 경우도 강의와 다른 식으로 답변을 줘서 강의에서 말씀해주신 구글 검색을 통한 답변이 좀 더 깔끔한 것 같다. 오류가 생기면 챗지피티도 이용해보고 검색엔진도 아직까진 더 유용할 것 같다.
아래는 실습을 따라하고 강사님 설명 부분이다.
[pickle 모듈]
[with 구문]
[csv 파일 쓰기]
[csv 파일 읽]
[실습문제 10.1.1]
03. 필수 본문 내용
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
04. 필수 해시태그
#패스트캠퍼스 #직장인자기계발 #직장인공부 #환급챌린지 #패스트캠퍼스후기 #오공완
05. 필수 URL
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
[수강 강의 클립]
[특별 제공] 한 번에 끝내는 파이썬 필수 문법
-Ch 10. 파일 입출력
02. csv 파일 입출력
03. 파일 입출력 실습문제
[※ 기타사항메모 ※]
{100% 환급챌린지 미션 가이드 참조 :
https://fastcampus.co.kr/event_online_challenge_2401_mission}
커리어 성장을 위한 최고의 실무교육 아카데미 | 패스트캠퍼스
성인 교육 서비스 기업, 패스트캠퍼스는 개인과 조직의 실질적인 '업(業)'의 성장을 돕고자 모든 종류의 교육 콘텐츠 서비스를 제공하는 대한민국 No. 1 교육 서비스 회사입니다.
fastcampus.co.kr