aboutsummaryrefslogblamecommitdiff
path: root/beleggen_to_csv.py
blob: e59922cc55ba10e1f2664c3a3f181135a477916c (plain) (tree)





































                                                                                
import csv
import json
import sys

# Script om ASN Beleggen vermogensontwikkeling om te zetten naar het CSV
# formaat van spaar- en betaalrekeningen, zodat het door plotasn.py meegenomen
# kan worden.
#
# Om de data te krijgen:
#
# 1. Ga naar https://www.asnbank.nl/online/web/onlinebankieren/beleggen/11812158
# 2. Er wordt een request gedaan naar .../api/datapunten
# 3. Dit script converteert zulke data op stdin naar een CSV bestand op stdout

def parse_date(s):
    y, m, d = s.split('-')
    return '{}-{}-{}'.format(d, m, y)

def beleggen_to_csv(json):
    prev = 0

    for e in json['grafiekdata']:
        value = float(e['waarde'])
        if value == prev:
            continue

        diff = round(value - prev, 2)
        date = parse_date(e['vastgelegd_op'])
        yield '', '', '', '', '', '', '', 'EUR', prev, 'EUR', diff, date

        prev = value

if __name__ == '__main__':
    for line in sys.stdin:
        obj = json.loads(line)

        wr = csv.writer(sys.stdout)
        for line in beleggen_to_csv(obj):
            wr.writerow(line)