Skip to content

Instantly share code, notes, and snippets.

@mbfisher
Last active December 2, 2019 15:59
Show Gist options
  • Save mbfisher/04d39cf9c0ced9383aa1690bfda3c3ad to your computer and use it in GitHub Desktop.
Save mbfisher/04d39cf9c0ced9383aa1690bfda3c3ad to your computer and use it in GitHub Desktop.
Revolut Statement
import csv
import sys
from datetime import datetime
fields = ['Date completed', 'Description', 'Amount', 'Balance']
data = []
with open(sys.argv[1], encoding="utf-8-sig") as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
data.append(row)
data.reverse()
writer = csv.writer(sys.stdout)
writer.writerow(fields)
for i, row in enumerate(data):
row['Date completed'] = datetime.strptime(row['Date completed'], '%Y-%m-%d').strftime('%d/%m/ %Y')
if row['Fee']:
row['Amount'] = round(float(row['Amount']) + float(row['Fee']), 2)
writer.writerow([row[field] for field in fields])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment