aboutsummaryrefslogtreecommitdiff
path: root/beleggen_to_csv.py
diff options
context:
space:
mode:
Diffstat (limited to 'beleggen_to_csv.py')
-rw-r--r--beleggen_to_csv.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/beleggen_to_csv.py b/beleggen_to_csv.py
new file mode 100644
index 0000000..e59922c
--- /dev/null
+++ b/beleggen_to_csv.py
@@ -0,0 +1,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)