Files
financial-analyzer/analyze.py
2024-05-03 15:49:51 -07:00

48 lines
1.5 KiB
Python

import csv
reader = csv.DictReader(open('amex2.csv', newline=''))
data = []
total_amounts = {}
for row in reader:
data.append(row)
def sameMerchant(data, sorted=True):
amounts_by_description = {}
for item in data:
description = item['Description']
amount = float(item['Amount'])
if description in amounts_by_description:
amounts_by_description[description] += amount
else:
amounts_by_description[description] = amount
if sorted:
for description, total_amount in amounts_by_description.items():
print(f"{description}: {total_amount}")
else:
for description, total_amount in sorted(amounts_by_description.items(), key=lambda x: x[1], reverse=True):
print(f"{description}: {total_amount}")
def sameCategory(data, sorted=True):
amounts_by_category = {}
for item in data:
category = item['Category']
amount = float(item['Amount'])
if category in amounts_by_category:
amounts_by_category[category] += amount
else:
amounts_by_category[category] = amount
if sorted:
for category, total_amount in amounts_by_category.items():
print(f"{category}: ${total_amount}")
else:
for category, total_amount in sorted(amounts_by_category.items(), key=lambda x: x[1], reverse=True):
print(f"{category}: ${total_amount}")
sameCategory(data)
# for item in data:
# if "Merchandise & Supplies-Music & Vidkoijoeo" in item["Category"]:
# print(item['Description'])