blob: 92637285fa5dda3db9952287bd914b38afc99572 (
plain) (
tree)
|
|
+++
title = "A quick script to import data from my bank to GnuCash"
lang = "en"
[taxonomies]
authors = ["harald"]
tags = ["software", "programming", "scripts"]
[extra]
+++
Here's a quick awk script I did to convert the bank statements from my bank to a
format recognizable by [GnuCash]:
```awk
# A simple filter to mould the csv from nordea into
# something that can be swallowed by gnucash.
BEGIN {
FS = ";";
RS = "\n";
OFS = ";";
ORS = "\n";
# Regex for matching a date
DATE = /^[0-9]{4}\.[0-9]{2}\.[0-9]{2}$/;
}
# Only lines starting with a date should be printed
$2 ~ DATE {
# Strip negative sign from withdraw column
withdraw = gensub(/\-/, "", "g", $8);
print $2,$4,$6,withdraw,$10;
}
```
It could probably be shorter. I could drop setting the RS/ORS, but I like to be explicit. In addition to fixing the polarity of the withdrawals column it strips away all the lines that don't contain any transactions. I don't need them, and this saves me from having to do it manually in GnuCash.
Not anything revolutionary, but thought I'd share it anyways.
[GnuCash]: http://www.gnucash.org/
|