|
- import pandas as pd
-
- from bank_parsers.helpers import parse_norwegian_date, parse_norwegian_number, convert_memo
-
-
- def parse_sparebanken_norge(data):
- """
- Parse Sparebanken Norge bank data
- """
- result = []
-
- for _, row in data.iterrows():
- status = row.get('Status')
-
- if pd.isna(status):
- continue
-
- cleared = status == "Bokført"
-
- if row.get('Valuta') != 'NOK':
- raise ValueError(f"Unknown currency {row['Valuta']} in row:\n{row}")
-
- payee = convert_memo(row.get('Beskrivelse', ''))
- memo = convert_memo(row.get('Melding/KID/Fakt.nr', ''))
-
- date = row.get('Bokført dato') if cleared else row.get('Utført dato')
-
- result.append({
- 'Date': parse_norwegian_date(date),
- 'Payee': payee,
- 'Memo': memo,
- 'Outflow': -parse_norwegian_number(row['Beløp ut']) or 0,
- 'Inflow': parse_norwegian_number(row['Beløp inn']) or 0,
- 'Cleared': cleared,
- })
-
- return pd.DataFrame(result)
|