Advertisement
homeworkhelp111

sales_summary

Apr 12th, 2023
20
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.45 KB | None | 0 0
  1. import csv
  2.  
  3. def read_data():
  4. data = []
  5.  
  6. with open('sales.csv','r') as sales_csv:
  7. spreadsheet = csv.reader(sales_csv)
  8. header = next(spreadsheet)
  9.  
  10. for row in spreadsheet:
  11. data.append(row)
  12.  
  13. return data
  14.  
  15. def run():
  16. data = read_data()
  17. sales = []
  18. months = []
  19. expenditure = []
  20. years = []
  21.  
  22. for row in data:
  23. year = int(row[0])
  24. sale = int(row[2])
  25. expense = int(row[3])
  26. months.append(row[1])
  27. sales.append(sale)
  28. years.append(year)
  29. expenditure.append(expense)
  30.  
  31. total = sum(sales)
  32. average = total/len(sales)
  33. min_sale = months[sales.index(min(sales))]
  34. max_sale = months[sales.index(max(sales))]
  35. print('Total sales: {}'.format(total))
  36.  
  37. with open('output_summary.csv','w',newline='') as f:
  38. writer = csv.writer(f)
  39.  
  40. writer.writerow(['year','month', 'sales_change', 'expenditure_change'])
  41. writer.writerow([years[0], months[0],'',''])
  42.  
  43. i = 1
  44. while i < len(sales):
  45. writer.writerow([years[i], months[i], ((sales[i]-sales[i-1])/sales[i-1])*100, ((expenditure[i]- expenditure[i-1])/expenditure[i-1])*100])
  46.  
  47. i += 1
  48.  
  49. writer.writerow([])
  50. writer.writerow(['Average:{}'.format(average)])
  51. writer.writerow(['Minimum sale month:{}'.format(min_sale)])
  52. writer.writerow(['Maximum sale month:{}'.format(max_sale)])
  53. run()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement