본문 바로가기

study

[python] csv, error

import csv

# csv 쓰기
dataList = [
  ['종목', '매입가', '수량', '목표가'],
  ['삼성전자', 85000, 10, 90000],
  ['NAVER', 380000, 5, 400000],
]

file = open('./myvenv/Chapter10/mystock.csv', 'w', encoding='utf-8-sig')
writer = csv.writer(file)

for data in dataList:
  writer.writerow(data)

file.close()

# csv 읽기
file = open('./myvenv/Chapter10/mystock.csv', 'r', encoding='utf-8-sig')
reader = list(csv.reader(file))
# csv reader 메서드는 iterable 객체이지만 리스트 타입은 아니기 때문에 변환시켜주어야 한다

for data in reader[1:]:
  name = data[0]
  buy = int(data[1])
  amount = int(data[2])
  goal = int(data[3])

  # f-string 소수점 관리
  print(f"{name} {(goal - buy) * amount} {(goal/buy - 1) * 100:.2f}%")

file.close()
# 커스텀 에러 만들기
# 기존 에러 클래스에 상속을 받아 부모 메서드를 호출하여 경우의 수를 추가
class PositiveNumbeError(Exception):
  def __init__(self):
    super().__init__('양수 입력 불가')

num = input('숫자 입력\n>>')

try:
  num = int(num)
  if num >= 0:
    # 임의로 에러를 발생시킨다
    raise PositiveNumbeError
except Exception as error:
  print(f'에러 메시지: {error}')
else:
  print(f'에러 없이 무사히 통과 {num}')
finally:
  print('에러가 있든 없든 실행되는 구간')

 

해당 내용은 패스트 캠퍼스 권기준 강사님의 강의 내용을 바탕으로 작성되었으며 좋은 강의 감사합니다.

'study' 카테고리의 다른 글

k진수에서 소수개수 구하기  (0) 2022.09.24
[python] Class  (0) 2022.08.05
시간 복잡도  (0) 2022.06.21
boj 1406 javascript  (0) 2022.06.20
boj 13300 javascript  (0) 2022.06.18