728x90
반응형
import csv
import re
def s2i(s: str) -> int:
try:
return int(re.sub(',', '', s))
except:
return 0
def print_label() -> None:
print('{0}\t{1:>9}{2:>9}{3:>9}{4:>9}'.format('순번', '총합계', '12월매출', '11월매출', '10월매출'))
def print_data(l: list, sum: int) -> None:
print('{0}\t{1:>10,}{2:>10,}{3:>10,}{4:>10,}'.format(l[1], sum, s2i(l[4]), s2i(l[3]), s2i(l[2])))
def get_sum(l: list) -> int:
return s2i(l[2]) + s2i(l[3]) + s2i(l[4])
def print_summary(area: list, total: list) -> None:
value = max(total)
label = area[total.index(value)]
print("{0}번에서 {1:,}원으로 매출이 가장 많이 발생했으며,".format(label, value))
value = min(total)
label = area[total.index(value)]
print("{0}번에서 {1:,}원으로 매출이 가장 적게 발생했습니다.".format(label, value))
def print_result_data() -> None:
area = []
total = []
with open("./sales_result.csv", "r") as csv_file:
lines = csv.reader(csv_file)
for line in lines:
if line[0] != '순서':
print_label()
else:
sum = get_sum(line)
print_data(line, sum)
area.append(line[1])
total.append(sum)
print_summary(area, total)
if __name__ == "__main__":
print_result_data()
- 파이썬은 배우기는 쉬우나... 익숙하지가 않다.
- 다음에는 파이썬을 활용하여 시스템을 엔지니어링 하는 방법에 대해서 알아보자.
728x90
반응형
'파이썬 > 파이썬 예제' 카테고리의 다른 글
파이썬 코드를 활용한 DB 데이터를 CSV 파일로 저장 (0) | 2022.01.25 |
---|---|
파이썬(Python)을 활용하여 CSV 파일을 INSERT 수행 (2) | 2022.01.21 |
pandas를 활용하여 postgresql 테이블을 csv로 저장하기 (0) | 2021.12.22 |
python으로 cpu 사용량과 memory 체크하기 (0) | 2021.10.30 |
우분투에 파이썬 python 설치하기 (0) | 2021.10.30 |