1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
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)
|