In [7]:
%load_ext autoreload
%autoreload 2


The autoreload extension is already loaded. To reload it, use:
  %reload_ext autoreload

In [8]:
import openpyxl as pyxl
import pandas as pd
import numpy as np

from bidict import bidict

from excel_helpers import *
from db_entries import *
from unified_excel_sheet import *

import re
from itertools import chain
# we only need the function datetime.datetime.now; we can now reference it as dt.now
from datetime import datetime as dt

import sqlite3 as sql

import logging
logger = logging.getLogger()

In [9]:
%%capture

db_filename = 'my-budget-dev-v4.sqlite'

%run nuclear_option.py $db_filename
%run database_setup.py $db_filename

db = sql.connect(db_filename)

event_groups_df = pd.read_sql('SELECT * FROM event_groups', db, index_col='group_id')

In [10]:
excel_filename = 'GemeinsameBilanzierung_16_17__dev.xlsx'

current_sheet_name = 'August'
comment_sheet_name = 'august_'

# We take here the option data_only since for now we are not interested in the expression
wb = pyxl.load_workbook(excel_filename, data_only=True)


current_sheet = wb.get_sheet_by_name(current_sheet_name)
comment_sheet = wb.copy_worksheet(current_sheet)
comment_sheet.title = comment_sheet_name
comment_sheet.sheet_state = 'hidden'

In [11]:
col_titles_budget = ['budget_pot', 'description', 'date', 'amount', 'excel_range']
col_titles_payments = ['description', 'date', 'amount', 'excel_range']

budgeting = get_df_by_range(comment_sheet, 'A6', 'D130', 2)
budgeting.columns = col_titles_budget

max_bargeld = get_df_by_range(comment_sheet, 'H7', 'J130', 1)
max_bargeld.columns = col_titles_payments
max_bargeld['money_pot'] = 'BM'
max_bargeld['type_description'] = 'Barzahlung'

paul_bargeld = get_df_by_range(comment_sheet, 'K7', 'M130', 1)
paul_bargeld.columns = col_titles_payments
paul_bargeld['money_pot'] = 'BP'
paul_bargeld['type_description'] = 'Barzahlung'

konto = get_df_by_range(comment_sheet, 'N7', 'P130', 1)
konto.columns = col_titles_payments
konto['money_pot'] = 'KG'
konto['type_description'] = 'Kartenzahlung'

all_payments = pd.concat([max_bargeld, paul_bargeld, konto])

all_info = pd.merge(budgeting, all_payments, how='outer', 
                    on=['description', 'date', 'amount'], indicator=True)

all_info['treated'] = 'No'

all_info['date'] = all_info['date'].dt.date
all_info['amount'] = all_info['amount'].round(2)

In [12]:
## Creating Data for Bargeld Payments data

wb_filename = 'full_month.xlsx'
definition_data = 'base_excel.json'

create_excel_table_from_data(all_info, wb_filename, db, definition_data)
checked_data = use_excel_for_data_entry(wb_filename, copy_mode=False)


The file full_month.xlsx will be opened in Excel for data entry. Enter Q to abort, enter anything else to continue: 
Make any input to continue. Abort with Q: 
The read data is:
ignore temporary_id event_type type_description description date amount money_pot money_pot_name money_pot_sink ... budget_type is_recieving is_payment is_transfer in_group group_name excel_range_x excel_range_y _merge treated
0 NaN NaN K Kartenzahlung Miete 2017-08-01 -568.00 KG gemeinsames Konto NaN ... regelmäßige und budgetierte Ausgaben NaN X NaN 1.0 Miete A6:D6 N13:P13 both No
1 NaN NaN K Kartenzahlung Miete FFM 2017-08-02 -450.00 KG gemeinsames Konto NaN ... regelmäßige und budgetierte Ausgaben NaN X NaN 18.0 Miete FFM A7:D7 N20:P20 both No
2 X NaN K Kartenzahlung Berufsunfähigkeitsversicherung 2017-08-01 -49.05 KG gemeinsames Konto NaN ... regelmäßige und budgetierte Ausgaben NaN NaN NaN 3.0 Berufsunfähigkeitsversicherung A8:D8 N12:P12 both No
3 NaN NaN K Kartenzahlung Strom EnviaM 2017-08-30 -51.00 KG gemeinsames Konto NaN ... regelmäßige und budgetierte Ausgaben NaN X NaN 5.0 Strom A9:D9 N89:P89 both No
4 NaN 2.0 S SEPA-Mandat Vodafone 2017-08-28 -19.99 KG gemeinsames Konto NaN ... regelmäßige und budgetierte Ausgaben NaN NaN NaN 6.0 Vodafone A10:D10 NaN left_only No
5 NaN 2.0 S SEPA-Mandat Telefonie 2017-08-28 -0.20 KG gemeinsames Konto NaN ... Miscellaneous NaN NaN NaN 6.0 Vodafone A11:D11 NaN left_only No
6 NaN NaN S SEPA-Mandat Rechtsschutzversicherung 2017-01-30 -13.90 NaN NaN NaN ... regelmäßige und budgetierte Ausgaben NaN NaN NaN 4.0 Rechtsschutzversicherung A12:D12 NaN left_only No
7 X NaN U Überweisung Haftpflichtversicherung 2017-08-01 -7.50 KG gemeinsames Konto NaN ... regelmäßige und budgetierte Ausgaben NaN NaN NaN 2.0 Haftpflichtversicherung A13:D13 N11:P11 both No
8 NaN NaN S SEPA-Mandat GEW 2017-07-05 -2.50 NaN NaN NaN ... Arzeneimittel NaN NaN NaN 16.0 GEW A14:D14 NaN left_only No
9 NaN NaN U Überweisung Semestergebühr Paul 2017-06-21 -46.15 NaN NaN NaN ... regelmäßige und budgetierte Ausgaben NaN NaN NaN 12.0 Semestergebühr Paul A15:D15 NaN left_only No
10 NaN NaN U Überweisung Semestergebühr Max 2017-06-21 -50.56 NaN NaN NaN ... regelmäßige und budgetierte Ausgaben NaN NaN NaN 13.0 Semestergebühr Max A16:D16 NaN left_only No
11 NaN NaN U Überweisung GEZ 2017-06-29 -17.50 NaN NaN NaN ... regelmäßige und budgetierte Ausgaben NaN NaN NaN 17.0 GEZ A17:D17 NaN left_only No
12 NaN NaN K Kartenzahlung Handy Max 2017-08-10 -7.99 KG gemeinsames Konto NaN ... regelmäßige und budgetierte Ausgaben NaN NaN NaN 8.0 Drillisch Max A18:D18 N41:P41 both No
13 NaN 3.0 S SEPA-Mandat Handy Paul 2017-08-10 -7.99 NaN NaN NaN ... regelmäßige und budgetierte Ausgaben NaN NaN NaN 7.0 Drillisch Paul A19:D19 NaN left_only No
14 NaN NaN K Kartenzahlung Spotify Max 2017-08-15 -4.99 KG gemeinsames Konto NaN ... Arzeneimittel NaN NaN NaN 10.0 Spotify Max A20:D20 N52:P52 both No
15 NaN NaN K Kartenzahlung Apple Music Paul 2017-08-25 -4.99 KG gemeinsames Konto NaN ... Arzeneimittel NaN X NaN 9.0 Apple Music Paul A21:D21 N76:P76 both No
16 NaN NaN K Kartenzahlung Backblaze Max 2017-04-18 -3.77 NaN NaN NaN ... Arzeneimittel NaN NaN NaN 11.0 Backblaze A22:D22 NaN left_only No
17 X NaN K Kartenzahlung Sommertickets 2017-07-20 -48.00 NaN NaN NaN ... regelmäßige und budgetierte Ausgaben NaN X NaN NaN NaN A23:D23 NaN left_only No
18 X NaN K Kartenzahlung Sommertickets 2017-08-05 -144.00 NaN NaN NaN ... regelmäßige und budgetierte Ausgaben NaN X NaN NaN NaN A24:D24 NaN left_only No
19 NaN NaN K Kartenzahlung Monatskarte FFM 2017-07-31 -87.40 KG gemeinsames Konto NaN ... regelmäßige und budgetierte Ausgaben NaN X NaN NaN NaN A25:D25 N9:P9 both No
20 NaN NaN K Kartenzahlung Backblaze Paul 2017-04-18 -3.77 NaN NaN NaN ... Arzeneimittel NaN NaN NaN 11.0 Backblaze A26:D26 NaN left_only No
21 X NaN K Kartenzahlung Fitnessstudio 2017-08-03 -39.80 KG gemeinsames Konto NaN ... Arzeneimittel NaN X NaN NaN NaN A27:D27 N23:P23 both No
22 X NaN K Kartenzahlung Aldi 2017-07-31 -23.97 KG gemeinsames Konto NaN ... Lebensmittel NaN X NaN NaN NaN A28:D28 N8:P8 both No
23 X NaN K Kartenzahlung Netto 2017-07-31 -9.44 KG gemeinsames Konto NaN ... Lebensmittel NaN X NaN NaN NaN A29:D29 N10:P10 both No
24 X NaN K Kartenzahlung Rewe 2017-08-01 -8.71 KG gemeinsames Konto NaN ... Lebensmittel NaN X NaN NaN NaN A30:D30 N14:P14 both No
25 X NaN K Kartenzahlung Rossmann 2017-08-01 -9.17 KG gemeinsames Konto NaN ... Driogerieprodukte NaN NaN NaN NaN NaN A31:D31 N15:P15 both No
26 X NaN K Kartenzahlung DM 2017-08-01 -9.45 KG gemeinsames Konto NaN ... Driogerieprodukte NaN NaN NaN NaN NaN A32:D32 N16:P16 both No
27 X NaN K Kartenzahlung DM 2017-08-01 -12.25 KG gemeinsames Konto NaN ... Driogerieprodukte NaN NaN NaN NaN NaN A33:D33 N17:P17 both No
28 X NaN NaN NaN Mittagessen Casino 2017-08-01 -2.80 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A34:D34 NaN left_only No
29 X NaN K Kartenzahlung Türkischer Supermarkt 2017-08-01 -10.37 KG gemeinsames Konto NaN ... Lebensmittel NaN NaN NaN NaN NaN A35:D35 N18:P18 both No
30 X NaN B Barzahlung Brot 2017-08-01 -0.95 BP Bargeld Paul NaN ... Lebensmittel NaN NaN NaN NaN NaN A36:D36 K8:M8 both No
31 X NaN B Barzahlung Brot 2017-08-01 -0.95 BP Bargeld Paul NaN ... Lebensmittel NaN NaN NaN NaN NaN A37:D37 K8:M8 both No
32 X NaN NaN NaN Doppelter Kaffee Trianon 2017-08-02 -1.50 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A38:D38 NaN left_only No
33 X NaN NaN NaN Kaffee 2017-08-02 -0.70 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A39:D39 NaN left_only No
34 X NaN NaN NaN Mr Tom 2017-08-02 -0.40 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A40:D40 NaN left_only No
35 X NaN K Kartenzahlung Real 2017-08-02 -6.86 KG gemeinsames Konto NaN ... Lebensmittel NaN NaN NaN NaN NaN A41:D41 N22:P22 both No
36 X NaN NaN NaN Espresso 2017-08-03 -0.80 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A42:D42 NaN left_only No
37 X NaN NaN NaN Kaffee 2017-08-03 -0.70 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A43:D43 NaN left_only No
38 X NaN NaN NaN Kaffee 2017-08-03 -0.70 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A44:D44 NaN left_only No
39 X NaN NaN NaN Mittagessen Casino 2017-08-03 -3.73 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A45:D45 NaN left_only No
40 X NaN NaN NaN Kaffee 2017-08-04 -0.70 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A46:D46 NaN left_only No
41 X NaN NaN NaN Kaffee 2017-08-04 -0.75 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A47:D47 NaN left_only No
42 X NaN K Kartenzahlung Kaufland 2017-08-04 -13.95 KG gemeinsames Konto NaN ... Lebensmittel NaN NaN NaN NaN NaN A48:D48 N25:P25 both No
43 X NaN K Kartenzahlung McDonalds 2017-08-05 -2.59 KG gemeinsames Konto NaN ... Ausgehen Restaurant NaN NaN NaN NaN NaN A49:D49 N26:P26 both No
44 X NaN K Kartenzahlung H&M 2017-08-05 -55.08 KG gemeinsames Konto NaN ... Langlebige Produkte NaN NaN NaN NaN NaN A50:D50 N27:P27 both No
45 X NaN K Kartenzahlung Rewe Wasser 2017-08-05 -1.17 KG gemeinsames Konto NaN ... Lebensmittel NaN NaN NaN NaN NaN A51:D51 N28:P28 both No
46 X NaN K Kartenzahlung Edeka 2017-08-05 -5.43 KG gemeinsames Konto NaN ... Lebensmittel NaN NaN NaN NaN NaN A52:D52 N31:P31 both No
47 X NaN K Kartenzahlung Sitzplatz reservierung 2017-08-06 -4.50 KG gemeinsames Konto NaN ... Transportkosten NaN NaN NaN NaN NaN A53:D53 N33:P33 both No
48 X NaN K Kartenzahlung Amazon Bestellung 2017-08-06 -39.24 KG gemeinsames Konto NaN ... Langlebige Produkte NaN NaN NaN NaN NaN A54:D54 N32:P32 both No
49 X NaN K Kartenzahlung Amazon Festplatte Paul 2017-08-06 -52.94 KG gemeinsames Konto NaN ... Langlebige Produkte NaN NaN NaN NaN NaN A55:D55 N34:P34 both No
50 X NaN K Kartenzahlung Rewe 2017-08-07 -21.00 KG gemeinsames Konto NaN ... Lebensmittel NaN NaN NaN NaN NaN A56:D56 N36:P36 both No
51 X NaN K Kartenzahlung H&M Hose 2017-08-07 -30.14 KG gemeinsames Konto NaN ... Langlebige Produkte NaN NaN NaN NaN NaN A57:D57 N37:P37 both No
52 X NaN K Kartenzahlung Briefmarken 2017-08-07 -21.50 KG gemeinsames Konto NaN ... Miscellaneous NaN NaN NaN NaN NaN A58:D58 N38:P38 both No
53 X NaN K Kartenzahlung Netto 2017-08-07 -16.60 KG gemeinsames Konto NaN ... Lebensmittel NaN NaN NaN NaN NaN A59:D59 N39:P39 both No
54 X NaN K Kartenzahlung Real 2017-08-07 -3.99 KG gemeinsames Konto NaN ... Lebensmittel NaN NaN NaN NaN NaN A60:D60 N40:P40 both No
55 X NaN NaN NaN Kaffee 2017-08-07 -0.70 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A61:D61 NaN left_only No
56 X NaN NaN NaN Kaffee 2017-08-07 -0.70 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A63:D63 NaN left_only No
57 X NaN NaN NaN Mr Tom 2017-08-07 -0.40 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A62:D62 NaN left_only No
58 X NaN B Barzahlung Brot 2017-08-08 -1.40 BP Bargeld Paul NaN ... Lebensmittel NaN NaN NaN NaN NaN A64:D64 K9:M9 both No
59 X NaN NaN NaN Mittagssalat 2017-08-10 -2.26 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A65:D65 NaN left_only No
60 NaN 1.0 NaN NaN Rossmann Zahnbürste 2017-08-10 -15.99 NaN NaN NaN ... Langlebige Produkte NaN NaN NaN NaN NaN A66:D66 NaN left_only No
61 NaN 1.0 NaN NaN Rossmann 2017-08-10 -4.54 NaN NaN NaN ... Driogerieprodukte NaN NaN NaN NaN NaN A67:D67 NaN left_only No
62 X NaN K Kartenzahlung Edeka 2017-08-10 -3.17 KG gemeinsames Konto NaN ... Lebensmittel NaN NaN NaN NaN NaN A68:D68 N44:P44 both No
63 X NaN NaN NaN Miitag Zwiebelsuppe 2017-08-11 -0.60 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A69:D69 NaN left_only No
64 X NaN NaN NaN Espresso 2017-08-11 -0.80 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A70:D70 NaN left_only No
65 X NaN NaN NaN Mr Tom 2017-08-11 -0.40 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A71:D71 NaN left_only No
66 X NaN K Kartenzahlung Aldi 2017-08-11 -19.31 KG gemeinsames Konto NaN ... Lebensmittel NaN NaN NaN NaN NaN A72:D72 N45:P45 both No
67 X NaN K Kartenzahlung Schirm Rossmann 2017-08-11 -2.95 KG gemeinsames Konto NaN ... Driogerieprodukte NaN NaN NaN NaN NaN A73:D73 N46:P46 both No
68 X NaN B Barzahlung Eisessen 2017-08-13 -4.80 BM Bargeld Max NaN ... Ausgehen Restaurant NaN NaN NaN NaN NaN A74:D74 H13:J13 both No
69 X NaN B Barzahlung Wasser 2017-08-13 -1.30 BM Bargeld Max NaN ... Lebensmittel NaN NaN NaN NaN NaN A75:D75 H14:J14 both No
70 X NaN K Kartenzahlung Rewe 2017-08-13 -34.42 KG gemeinsames Konto NaN ... Lebensmittel NaN NaN NaN NaN NaN A76:D76 N47:P47 both No
71 X NaN NaN NaN Balisto 2017-08-14 -0.50 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A77:D77 NaN left_only No
72 X NaN K Kartenzahlung Netto 2017-08-14 -13.42 KG gemeinsames Konto NaN ... Lebensmittel NaN NaN NaN NaN NaN A78:D78 N50:P50 both No
73 X NaN K Kartenzahlung Fahrkarte Frankfurt 2017-08-14 -2.90 KG gemeinsames Konto NaN ... Transportkosten NaN NaN NaN NaN NaN A79:D79 N51:P51 both No
74 X NaN NaN NaN Mittagessen Casino 2017-08-15 -4.30 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A80:D80 NaN left_only No
75 X NaN NaN NaN KitKat 2017-08-15 -1.00 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A81:D81 NaN left_only No
76 X NaN K Kartenzahlung Rewe 2017-08-16 -17.57 KG gemeinsames Konto NaN ... Lebensmittel NaN NaN NaN NaN NaN A82:D82 N53:P53 both No
77 X NaN NaN NaN Kakao 2017-08-16 -0.40 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A83:D83 NaN left_only No
78 X NaN K Kartenzahlung Rewe 2017-08-16 -3.42 KG gemeinsames Konto NaN ... Lebensmittel NaN NaN NaN NaN NaN A84:D84 N54:P54 both No
79 X NaN B Barzahlung Eisessen 2017-08-17 -1.20 BM Bargeld Max NaN ... Ausgehen Restaurant NaN NaN NaN NaN NaN A85:D85 H16:J16 both No
80 X NaN K Kartenzahlung Real 2017-08-18 -10.19 KG gemeinsames Konto NaN ... Lebensmittel NaN NaN NaN NaN NaN A86:D86 N55:P55 both No
81 X NaN K Kartenzahlung Rewe 2017-08-18 -2.69 KG gemeinsames Konto NaN ... Lebensmittel NaN NaN NaN NaN NaN A87:D87 N56:P56 both No
82 X NaN NaN NaN Suppe 2017-08-18 -0.60 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A88:D88 NaN left_only No
83 X NaN K Kartenzahlung Sitzplatz reservierung 2017-08-18 -4.50 KG gemeinsames Konto NaN ... Transportkosten NaN NaN NaN NaN NaN A89:D89 N57:P57 both No
84 X NaN B Barzahlung Toilette 2017-08-18 -0.25 BM Bargeld Max NaN ... Miscellaneous NaN NaN NaN NaN NaN A90:D90 H17:J17 both No
85 X NaN B Barzahlung Spitzer 2017-08-19 -2.00 BM Bargeld Max NaN ... Langlebige Produkte NaN NaN NaN NaN NaN A91:D91 H18:J18 both No
86 X NaN K Kartenzahlung Netto 2017-08-19 -2.31 KG gemeinsames Konto NaN ... Lebensmittel NaN NaN NaN NaN NaN A92:D92 N58:P58 both No
87 X NaN K Kartenzahlung Netto 2017-08-19 -32.39 KG gemeinsames Konto NaN ... Lebensmittel NaN NaN NaN NaN NaN A93:D93 N59:P59 both No
88 X NaN K Kartenzahlung Asia Markt 2017-08-19 -7.12 KG gemeinsames Konto NaN ... Lebensmittel NaN NaN NaN NaN NaN A94:D94 N60:P60 both No
89 X NaN K Kartenzahlung DM 2017-08-19 -16.70 KG gemeinsames Konto NaN ... Driogerieprodukte NaN NaN NaN NaN NaN A95:D95 N61:P61 both No
90 X NaN K Kartenzahlung Apotheke 2017-08-19 -27.42 KG gemeinsames Konto NaN ... Driogerieprodukte NaN NaN NaN NaN NaN A96:D96 N62:P62 both No
91 X NaN K Kartenzahlung Tree-App 2017-08-20 -2.29 KG gemeinsames Konto NaN ... Miscellaneous NaN NaN NaN NaN NaN A97:D97 N63:P63 both No
92 X NaN NaN NaN Mr Tom 2017-08-21 -0.40 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A98:D98 NaN left_only No
93 X NaN NaN NaN Salatzutaten 2017-08-21 -1.34 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A99:D99 NaN left_only No
94 X NaN K Kartenzahlung McDonalds Frühstück Köln 2017-08-22 -2.99 KG gemeinsames Konto NaN ... Ausgehen Restaurant NaN NaN NaN NaN NaN A100:D100 N66:P66 both No
95 X NaN K Kartenzahlung Penny 2017-08-22 -2.57 KG gemeinsames Konto NaN ... Lebensmittel NaN NaN NaN NaN NaN A101:D101 N67:P67 both No
96 X NaN K Kartenzahlung Einzelticket Köln 2017-08-22 -2.80 KG gemeinsames Konto NaN ... Transportkosten NaN NaN NaN NaN NaN A102:D102 N69:P69 both No
97 X NaN K Kartenzahlung Einzelticket Köln 2017-08-22 -2.80 KG gemeinsames Konto NaN ... Transportkosten NaN NaN NaN NaN NaN A102:D102 N70:P70 both No
98 X NaN B Barzahlung Wein 2017-08-22 -10.00 BM Bargeld Max NaN ... Ausgehen Restaurant NaN NaN NaN NaN NaN A103:D103 H23:J23 both No
99 X NaN K Kartenzahlung Penny Brötchen 2017-08-23 -0.29 KG gemeinsames Konto NaN ... Lebensmittel NaN NaN NaN NaN NaN A104:D104 N71:P71 both No
100 X NaN K Kartenzahlung Rewe 2017-08-23 -2.18 KG gemeinsames Konto NaN ... Ausgehen Restaurant NaN NaN NaN NaN NaN A105:D105 N72:P72 both No
101 X NaN B Barzahlung Tapas 2017-08-23 -14.00 BM Bargeld Max NaN ... Ausgehen Restaurant NaN NaN NaN NaN NaN A106:D106 H24:J24 both No
102 X NaN K Kartenzahlung Rewe 2017-08-24 -3.91 KG gemeinsames Konto NaN ... Lebensmittel NaN NaN NaN NaN NaN A107:D107 N75:P75 both No
103 X NaN K Kartenzahlung Lidl 2017-08-25 -1.13 KG gemeinsames Konto NaN ... Lebensmittel NaN NaN NaN NaN NaN A108:D108 N77:P77 both No
104 X NaN NaN NaN Jogurtkaltschale Mittag 2017-08-25 -0.60 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A109:D109 NaN left_only No
105 X NaN B Barzahlung Eis essen 2017-08-25 -1.20 BM Bargeld Max NaN ... Ausgehen Restaurant NaN NaN NaN NaN NaN A110:D110 H26:J26 both No
106 X NaN K Kartenzahlung Lidl 2017-08-27 -1.59 KG gemeinsames Konto NaN ... Lebensmittel NaN NaN NaN NaN NaN A111:D111 N79:P79 both No
107 X NaN K Kartenzahlung Rewe 2017-08-27 -2.74 KG gemeinsames Konto NaN ... Lebensmittel NaN NaN NaN NaN NaN A112:D112 N80:P80 both No
108 X NaN K Kartenzahlung Rewe 2017-08-28 -15.00 KG gemeinsames Konto NaN ... Lebensmittel NaN NaN NaN NaN NaN A113:D113 N84:P84 both No
109 X NaN K Kartenzahlung Rewe 2017-08-28 -7.96 KG gemeinsames Konto NaN ... Lebensmittel NaN NaN NaN NaN NaN A114:D114 N85:P85 both No
110 X NaN NaN NaN Mittag 2017-08-28 -4.15 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A115:D115 NaN left_only No
111 X NaN B Barzahlung Eis essen 2017-08-28 -1.20 BM Bargeld Max NaN ... Ausgehen Restaurant NaN NaN NaN NaN NaN A116:D116 H27:J27 both No
112 X NaN K Kartenzahlung Aldi 2017-08-29 -7.90 KG gemeinsames Konto NaN ... Lebensmittel NaN NaN NaN NaN NaN A117:D117 N87:P87 both No
113 X NaN K Kartenzahlung DM 2017-08-29 -10.60 KG gemeinsames Konto NaN ... Driogerieprodukte NaN NaN NaN NaN NaN A118:D118 N88:P88 both No
114 X NaN K Kartenzahlung Real 2017-08-21 -5.17 KG gemeinsames Konto NaN ... Lebensmittel NaN NaN NaN NaN NaN A119:D119 N64:P64 both No
115 X NaN NaN NaN Fahrt BLN -> KM 2017-08-25 -24.00 NaN NaN NaN ... Transportkosten NaN NaN NaN NaN NaN A120:D120 NaN left_only No
116 X NaN NaN NaN Fahrt KM -> BLN 2017-08-27 -24.00 NaN NaN NaN ... Transportkosten NaN NaN NaN NaN NaN A121:D121 NaN left_only No
117 X NaN K Kartenzahlung Netto 2017-08-28 -5.96 KG gemeinsames Konto NaN ... Lebensmittel NaN NaN NaN NaN NaN A122:D122 N86:P86 both No
118 X NaN B Barzahlung PUCK aufladen 2017-08-21 -20.00 BP Bargeld Paul NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A123:D123 K11:M11 both No
119 X NaN B Barzahlung Geld aufladen Mitarbeiter ausweis 2017-08-01 -20.00 BM Bargeld Max NaN ... NaN NaN NaN NaN NaN NaN NaN H7:J7 right_only No
120 X NaN B Barzahlung Geld abheben 2017-08-03 30.00 BM Bargeld Max NaN ... NaN NaN NaN NaN NaN NaN NaN H8:J8 right_only No
121 X NaN B Barzahlung Geld aufladen Trianon 2017-08-02 -20.00 BM Bargeld Max NaN ... NaN NaN NaN NaN NaN NaN NaN H9:J9 right_only No
122 X NaN B Barzahlung Geld aus Schatulle 2017-08-05 1.30 BM Bargeld Max NaN ... NaN NaN NaN NaN NaN NaN NaN H10:J10 right_only No
123 X NaN B Barzahlung Betriebsausflug 2017-08-07 -18.50 BM Bargeld Max NaN ... NaN NaN NaN NaN NaN NaN NaN H11:J11 right_only No
124 X NaN B Barzahlung Geldfund 2017-08-12 0.05 BM Bargeld Max NaN ... NaN NaN NaN NaN NaN NaN NaN H12:J12 right_only No
125 X NaN B Barzahlung BBk Karte Aufladen 2017-08-14 -10.00 BM Bargeld Max NaN ... NaN NaN NaN NaN NaN NaN NaN H15:J15 right_only No
126 X NaN B Barzahlung Geld aus Schatulle 2017-08-20 0.50 BM Bargeld Max NaN ... NaN NaN NaN NaN NaN NaN NaN H19:J19 right_only No
127 X NaN B Barzahlung Schatullenkorrektur 2017-08-20 1.05 BM Bargeld Max NaN ... NaN NaN NaN NaN NaN NaN NaN H20:J20 right_only No
128 X NaN B Barzahlung Schatullenkorrektur 2017-08-20 -1.05 BM Bargeld Max NaN ... NaN NaN NaN NaN NaN NaN NaN H21:J21 right_only No
129 X NaN B Barzahlung Geld abheben 2017-08-22 40.00 BM Bargeld Max NaN ... NaN NaN NaN NaN NaN NaN NaN H22:J22 right_only No
130 X NaN B Barzahlung Karte aufladen 2017-08-28 -10.00 BM Bargeld Max NaN ... NaN NaN NaN NaN NaN NaN NaN H25:J25 right_only No
131 X NaN B Barzahlung Geld aus Schatulle NaT 1.00 BP Bargeld Paul NaN ... NaN NaN NaN NaN NaN NaN NaN K7:M7 right_only No
132 X NaN B Barzahlung Geld aus Schatulle 2017-08-08 1.35 BP Bargeld Paul NaN ... NaN NaN NaN NaN NaN NaN NaN K10:M10 right_only No
133 X NaN B Barzahlung Geld abheben 2017-08-21 20.00 BP Bargeld Paul NaN ... NaN NaN NaN NaN NaN NaN NaN K12:M12 right_only No
134 X NaN K Kartenzahlung Budgetbeitrag von BMS 2017-07-28 1468.00 KG gemeinsames Konto NaN ... NaN NaN NaN NaN NaN NaN NaN N7:P7 right_only No
135 X NaN K Kartenzahlung Miete FFM auf Max Konto 2017-08-02 450.00 KG gemeinsames Konto NaN ... NaN NaN NaN NaN NaN NaN NaN N19:P19 right_only No
136 X NaN K Kartenzahlung Ausgehen mit Kollegen 2017-08-02 -20.60 KG gemeinsames Konto NaN ... NaN NaN NaN NaN NaN NaN NaN N21:P21 right_only No
137 X NaN K Kartenzahlung Abheben 2017-08-03 -30.00 KG gemeinsames Konto NaN ... NaN NaN NaN NaN NaN NaN NaN N24:P24 right_only No
138 X NaN K Kartenzahlung Sommerticket DB 2017-08-05 -96.00 KG gemeinsames Konto NaN ... NaN NaN NaN NaN NaN NaN NaN N29:P29 right_only No
139 X NaN K Kartenzahlung Sommerticket DB 2017-08-05 -96.00 KG gemeinsames Konto NaN ... NaN NaN NaN NaN NaN NaN NaN N30:P30 right_only No
140 X NaN S SEPA-Mandat Amazon Fail Topf 2017-08-06 -4.61 KG gemeinsames Konto NaN ... NaN NaN NaN NaN NaN NaN NaN N35:P35 right_only No
141 NaN 3.0 K Kartenzahlung Handy Paul 2017-08-10 -13.99 KG gemeinsames Konto NaN ... NaN NaN X NaN 7.0 Drillisch Paul NaN N42:P42 right_only No
142 NaN 1.0 K Kartenzahlung Rossmann 2017-08-10 -20.53 KG gemeinsames Konto NaN ... NaN NaN X NaN NaN NaN NaN N43:P43 right_only No
143 X NaN K Kartenzahlung Sommerticket DB 2017-08-14 -192.00 KG gemeinsames Konto NaN ... NaN NaN NaN NaN NaN NaN NaN N48:P48 right_only No
144 X NaN K Kartenzahlung Vorschuss für Sparticket 2017-08-14 192.00 KG gemeinsames Konto NaN ... NaN NaN NaN NaN NaN NaN NaN N49:P49 right_only No
145 X NaN K Kartenzahlung Geld abheben 2017-08-21 -20.00 KG gemeinsames Konto NaN ... NaN NaN NaN NaN NaN NaN NaN N65:P65 right_only No
146 X NaN K Kartenzahlung Geld abheben 2017-08-22 -40.00 KG gemeinsames Konto NaN ... NaN NaN NaN NaN NaN NaN NaN N68:P68 right_only No
147 X NaN K Kartenzahlung Umbuchung 2017-08-23 302.79 KG gemeinsames Konto NaN ... NaN NaN NaN NaN NaN NaN NaN N73:P73 right_only No
148 X NaN K Kartenzahlung Hotelkosten 2017-08-24 -188.00 KG gemeinsames Konto NaN ... NaN NaN NaN NaN NaN NaN NaN N74:P74 right_only No
149 X NaN K Kartenzahlung Vorschuss Reisekosten Köln 2017-08-26 193.60 KG gemeinsames Konto NaN ... NaN NaN NaN NaN NaN NaN NaN N78:P78 right_only No
150 X NaN K Kartenzahlung Prüfungsgebühr auf Max' Konto 2017-08-28 15.00 KG gemeinsames Konto NaN ... NaN NaN NaN NaN NaN NaN NaN N81:P81 right_only No
151 X NaN K Kartenzahlung Prüfungsgebühr Dr. Hochs Konservatorium 2017-08-28 -15.00 KG gemeinsames Konto NaN ... NaN NaN NaN NaN NaN NaN NaN N82:P82 right_only No
152 NaN 2.0 K Kartenzahlung Vodafone 2017-08-28 -20.19 KG gemeinsames Konto NaN ... NaN NaN X NaN 6.0 Vodafone NaN N83:P83 right_only No
153 NaN 3.0 S SEPA-Mandat Handy Paul 2017-08-10 -6.00 NaN NaN NaN ... Miscellaneous NaN NaN NaN 7.0 Drillisch Paul NaN NaN NaN NaN

154 rows × 23 columns

If you are not satisfied with the read data, enter any number. If you do this, the workbook will be opened again. Continue with any other input; abort with Q: 
OK.

In [ ]:
ignored_data_index = checked_data[checked_data['ignore'] == 'X'].index
nonignore_data_index = checked_data.index.difference(ignored_data_index)

ignored_data = checked_data.loc[ignored_data_index]
nonignore_data = checked_data.loc[nonignore_data_index]

nonignore_data = nonignore_data.sort_values('date')
display(nonignore_data)

definition_data = 'base_excel.json'
recheck_wb_filename = 'recheck_full_month.xlsx'

with open(definition_data) as f :
    json_data = f.read()
    sheet_def = json.loads(json_data)

sheet_def['main_sheet']['event_type']['hidden'] = True
sheet_def['main_sheet']['money_pot_name']['hidden'] = True
sheet_def['main_sheet']['money_sink_name']['hidden'] = True
sheet_def['main_sheet']['budget_type']['hidden'] = True

create_excel_table_from_data(nonignore_data, recheck_wb_filename, db, sheet_def)
double_checked = use_excel_for_data_entry(recheck_wb_filename, copy_mode=False)


ignore temporary_id event_type type_description description date amount money_pot money_pot_name money_pot_sink ... budget_type is_recieving is_payment is_transfer in_group group_name excel_range_x excel_range_y _merge treated
6 NaN NaN S SEPA-Mandat Rechtsschutzversicherung 2017-01-30 -13.90 NaN NaN NaN ... regelmäßige und budgetierte Ausgaben NaN NaN NaN 4.0 Rechtsschutzversicherung A12:D12 NaN left_only No
20 NaN NaN K Kartenzahlung Backblaze Paul 2017-04-18 -3.77 NaN NaN NaN ... Arzeneimittel NaN NaN NaN 11.0 Backblaze A26:D26 NaN left_only No
16 NaN NaN K Kartenzahlung Backblaze Max 2017-04-18 -3.77 NaN NaN NaN ... Arzeneimittel NaN NaN NaN 11.0 Backblaze A22:D22 NaN left_only No
9 NaN NaN U Überweisung Semestergebühr Paul 2017-06-21 -46.15 NaN NaN NaN ... regelmäßige und budgetierte Ausgaben NaN NaN NaN 12.0 Semestergebühr Paul A15:D15 NaN left_only No
10 NaN NaN U Überweisung Semestergebühr Max 2017-06-21 -50.56 NaN NaN NaN ... regelmäßige und budgetierte Ausgaben NaN NaN NaN 13.0 Semestergebühr Max A16:D16 NaN left_only No
11 NaN NaN U Überweisung GEZ 2017-06-29 -17.50 NaN NaN NaN ... regelmäßige und budgetierte Ausgaben NaN NaN NaN 17.0 GEZ A17:D17 NaN left_only No
8 NaN NaN S SEPA-Mandat GEW 2017-07-05 -2.50 NaN NaN NaN ... Arzeneimittel NaN NaN NaN 16.0 GEW A14:D14 NaN left_only No
19 NaN NaN K Kartenzahlung Monatskarte FFM 2017-07-31 -87.40 KG gemeinsames Konto NaN ... regelmäßige und budgetierte Ausgaben NaN X NaN NaN NaN A25:D25 N9:P9 both No
0 NaN NaN K Kartenzahlung Miete 2017-08-01 -568.00 KG gemeinsames Konto NaN ... regelmäßige und budgetierte Ausgaben NaN X NaN 1.0 Miete A6:D6 N13:P13 both No
1 NaN NaN K Kartenzahlung Miete FFM 2017-08-02 -450.00 KG gemeinsames Konto NaN ... regelmäßige und budgetierte Ausgaben NaN X NaN 18.0 Miete FFM A7:D7 N20:P20 both No
142 NaN 1.0 K Kartenzahlung Rossmann 2017-08-10 -20.53 KG gemeinsames Konto NaN ... NaN NaN X NaN NaN NaN NaN N43:P43 right_only No
141 NaN 3.0 K Kartenzahlung Handy Paul 2017-08-10 -13.99 KG gemeinsames Konto NaN ... NaN NaN X NaN 7.0 Drillisch Paul NaN N42:P42 right_only No
61 NaN 1.0 NaN NaN Rossmann 2017-08-10 -4.54 NaN NaN NaN ... Driogerieprodukte NaN NaN NaN NaN NaN A67:D67 NaN left_only No
60 NaN 1.0 NaN NaN Rossmann Zahnbürste 2017-08-10 -15.99 NaN NaN NaN ... Langlebige Produkte NaN NaN NaN NaN NaN A66:D66 NaN left_only No
13 NaN 3.0 S SEPA-Mandat Handy Paul 2017-08-10 -7.99 NaN NaN NaN ... regelmäßige und budgetierte Ausgaben NaN NaN NaN 7.0 Drillisch Paul A19:D19 NaN left_only No
12 NaN NaN K Kartenzahlung Handy Max 2017-08-10 -7.99 KG gemeinsames Konto NaN ... regelmäßige und budgetierte Ausgaben NaN NaN NaN 8.0 Drillisch Max A18:D18 N41:P41 both No
153 NaN 3.0 S SEPA-Mandat Handy Paul 2017-08-10 -6.00 NaN NaN NaN ... Miscellaneous NaN NaN NaN 7.0 Drillisch Paul NaN NaN NaN NaN
14 NaN NaN K Kartenzahlung Spotify Max 2017-08-15 -4.99 KG gemeinsames Konto NaN ... Arzeneimittel NaN NaN NaN 10.0 Spotify Max A20:D20 N52:P52 both No
15 NaN NaN K Kartenzahlung Apple Music Paul 2017-08-25 -4.99 KG gemeinsames Konto NaN ... Arzeneimittel NaN X NaN 9.0 Apple Music Paul A21:D21 N76:P76 both No
152 NaN 2.0 K Kartenzahlung Vodafone 2017-08-28 -20.19 KG gemeinsames Konto NaN ... NaN NaN X NaN 6.0 Vodafone NaN N83:P83 right_only No
5 NaN 2.0 S SEPA-Mandat Telefonie 2017-08-28 -0.20 KG gemeinsames Konto NaN ... Miscellaneous NaN NaN NaN 6.0 Vodafone A11:D11 NaN left_only No
4 NaN 2.0 S SEPA-Mandat Vodafone 2017-08-28 -19.99 KG gemeinsames Konto NaN ... regelmäßige und budgetierte Ausgaben NaN NaN NaN 6.0 Vodafone A10:D10 NaN left_only No
3 NaN NaN K Kartenzahlung Strom EnviaM 2017-08-30 -51.00 KG gemeinsames Konto NaN ... regelmäßige und budgetierte Ausgaben NaN X NaN 5.0 Strom A9:D9 N89:P89 both No

23 rows × 23 columns

The file recheck_full_month.xlsx will be opened in Excel for data entry. Enter Q to abort, enter anything else to continue: 
Make any input to continue. Abort with Q: 
The read data is:
ignore temporary_id event_type type_description description date amount money_pot money_pot_name money_pot_sink ... budget_type is_recieving is_payment is_transfer in_group group_name excel_range_x excel_range_y _merge treated
6 NaN NaN S SEPA-Mandat Rechtsschutzversicherung 2017-01-30 -13.90 NaN NaN NaN ... regelmäßige und budgetierte Ausgaben NaN NaN NaN 4.0 Rechtsschutzversicherung A12:D12 NaN left_only No
20 NaN NaN K Kartenzahlung Backblaze Paul 2017-04-18 -3.77 NaN NaN NaN ... Arzeneimittel NaN NaN NaN 11.0 Backblaze A26:D26 NaN left_only No
16 NaN NaN K Kartenzahlung Backblaze Max 2017-04-18 -3.77 NaN NaN NaN ... Arzeneimittel NaN NaN NaN 11.0 Backblaze A22:D22 NaN left_only No
9 NaN NaN U Überweisung Semestergebühr Paul 2017-06-21 -46.15 NaN NaN NaN ... regelmäßige und budgetierte Ausgaben NaN NaN NaN 12.0 Semestergebühr Paul A15:D15 NaN left_only No
10 NaN NaN U Überweisung Semestergebühr Max 2017-06-21 -50.56 NaN NaN NaN ... regelmäßige und budgetierte Ausgaben NaN NaN NaN 13.0 Semestergebühr Max A16:D16 NaN left_only No
11 NaN NaN U Überweisung GEZ 2017-06-29 -17.50 NaN NaN NaN ... regelmäßige und budgetierte Ausgaben NaN NaN NaN 17.0 GEZ A17:D17 NaN left_only No
8 NaN NaN S SEPA-Mandat GEW 2017-07-05 -2.50 NaN NaN NaN ... Arzeneimittel NaN NaN NaN 16.0 GEW A14:D14 NaN left_only No
19 NaN NaN K Kartenzahlung Monatskarte FFM 2017-07-31 -87.40 KG gemeinsames Konto NaN ... regelmäßige und budgetierte Ausgaben NaN X NaN NaN NaN A25:D25 N9:P9 both No
0 NaN NaN K Kartenzahlung Miete 2017-08-01 -568.00 KG gemeinsames Konto NaN ... regelmäßige und budgetierte Ausgaben NaN X NaN 1.0 Miete A6:D6 N13:P13 both No
1 NaN NaN K Kartenzahlung Miete FFM 2017-08-02 -450.00 KG gemeinsames Konto NaN ... regelmäßige und budgetierte Ausgaben NaN X NaN 18.0 Miete FFM A7:D7 N20:P20 both No
142 NaN 1.0 K Kartenzahlung Rossmann 2017-08-10 -20.53 KG gemeinsames Konto NaN ... NaN NaN X NaN NaN NaN NaN N43:P43 right_only No
141 NaN 3.0 K Kartenzahlung Handy Paul 2017-08-10 -13.99 KG gemeinsames Konto NaN ... NaN NaN X NaN 7.0 Drillisch Paul NaN N42:P42 right_only No
61 NaN 1.0 K Kartenzahlung Rossmann 2017-08-10 -4.54 NaN NaN NaN ... Driogerieprodukte NaN NaN NaN NaN NaN A67:D67 NaN left_only No
60 NaN 1.0 K Kartenzahlung Rossmann Zahnbürste 2017-08-10 -15.99 NaN NaN NaN ... Langlebige Produkte NaN NaN NaN NaN NaN A66:D66 NaN left_only No
13 NaN 3.0 S SEPA-Mandat Handy Paul 2017-08-10 -7.99 NaN NaN NaN ... regelmäßige und budgetierte Ausgaben NaN NaN NaN 7.0 Drillisch Paul A19:D19 NaN left_only No
12 NaN NaN K Kartenzahlung Handy Max 2017-08-10 -7.99 KG gemeinsames Konto NaN ... regelmäßige und budgetierte Ausgaben NaN X NaN 8.0 Drillisch Max A18:D18 N41:P41 both No
153 NaN 3.0 S SEPA-Mandat Handy Paul 2017-08-10 -6.00 NaN NaN NaN ... Miscellaneous NaN NaN NaN 7.0 Drillisch Paul NaN NaN NaN NaN
14 NaN NaN K Kartenzahlung Spotify Max 2017-08-15 -4.99 KG gemeinsames Konto NaN ... Arzeneimittel NaN NaN NaN 10.0 Spotify Max A20:D20 N52:P52 both No
15 NaN NaN K Kartenzahlung Apple Music Paul 2017-08-25 -4.99 KG gemeinsames Konto NaN ... Arzeneimittel NaN X NaN 9.0 Apple Music Paul A21:D21 N76:P76 both No
152 NaN 2.0 K Kartenzahlung Vodafone 2017-08-28 -20.19 KG gemeinsames Konto NaN ... NaN NaN X NaN 6.0 Vodafone NaN N83:P83 right_only No
5 NaN 2.0 S SEPA-Mandat Telefonie 2017-08-28 -0.20 KG gemeinsames Konto NaN ... Miscellaneous NaN NaN NaN 6.0 Vodafone A11:D11 NaN left_only No
4 NaN 2.0 S SEPA-Mandat Vodafone 2017-08-28 -19.99 KG gemeinsames Konto NaN ... regelmäßige und budgetierte Ausgaben NaN NaN NaN 6.0 Vodafone A10:D10 NaN left_only No
3 NaN NaN K Kartenzahlung Strom EnviaM 2017-08-30 -51.00 KG gemeinsames Konto NaN ... regelmäßige und budgetierte Ausgaben NaN X NaN 5.0 Strom A9:D9 N89:P89 both No

23 rows × 23 columns



In [13]:
parse_unified_excel_table(checked_data, db, db_filename, current_sheet, comment_sheet, excel_filename)


/Users/max/budgeter/unified_excel_sheet.py:267: UserWarning: UNIQUE constraint failed: event_in_group.event_id
  Warning(str(IE))
Out[13]:
ignore temporary_id event_type type_description description date amount money_pot money_pot_name money_pot_sink ... budget_type is_recieving is_payment is_transfer in_group group_name excel_range_x excel_range_y _merge treated
2 X NaN K Kartenzahlung Berufsunfähigkeitsversicherung 2017-08-01 -49.05 KG gemeinsames Konto NaN ... regelmäßige und budgetierte Ausgaben NaN NaN NaN 3.0 Berufsunfähigkeitsversicherung A8:D8 N12:P12 both No
7 X NaN U Überweisung Haftpflichtversicherung 2017-08-01 -7.50 KG gemeinsames Konto NaN ... regelmäßige und budgetierte Ausgaben NaN NaN NaN 2.0 Haftpflichtversicherung A13:D13 N11:P11 both No
17 X NaN K Kartenzahlung Sommertickets 2017-07-20 -48.00 NaN NaN NaN ... regelmäßige und budgetierte Ausgaben NaN X NaN NaN NaN A23:D23 NaN left_only No
18 X NaN K Kartenzahlung Sommertickets 2017-08-05 -144.00 NaN NaN NaN ... regelmäßige und budgetierte Ausgaben NaN X NaN NaN NaN A24:D24 NaN left_only No
21 X NaN K Kartenzahlung Fitnessstudio 2017-08-03 -39.80 KG gemeinsames Konto NaN ... Arzeneimittel NaN X NaN NaN NaN A27:D27 N23:P23 both No
22 X NaN K Kartenzahlung Aldi 2017-07-31 -23.97 KG gemeinsames Konto NaN ... Lebensmittel NaN X NaN NaN NaN A28:D28 N8:P8 both No
23 X NaN K Kartenzahlung Netto 2017-07-31 -9.44 KG gemeinsames Konto NaN ... Lebensmittel NaN X NaN NaN NaN A29:D29 N10:P10 both No
24 X NaN K Kartenzahlung Rewe 2017-08-01 -8.71 KG gemeinsames Konto NaN ... Lebensmittel NaN X NaN NaN NaN A30:D30 N14:P14 both No
25 X NaN K Kartenzahlung Rossmann 2017-08-01 -9.17 KG gemeinsames Konto NaN ... Driogerieprodukte NaN NaN NaN NaN NaN A31:D31 N15:P15 both No
26 X NaN K Kartenzahlung DM 2017-08-01 -9.45 KG gemeinsames Konto NaN ... Driogerieprodukte NaN NaN NaN NaN NaN A32:D32 N16:P16 both No
27 X NaN K Kartenzahlung DM 2017-08-01 -12.25 KG gemeinsames Konto NaN ... Driogerieprodukte NaN NaN NaN NaN NaN A33:D33 N17:P17 both No
28 X NaN NaN NaN Mittagessen Casino 2017-08-01 -2.80 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A34:D34 NaN left_only No
29 X NaN K Kartenzahlung Türkischer Supermarkt 2017-08-01 -10.37 KG gemeinsames Konto NaN ... Lebensmittel NaN NaN NaN NaN NaN A35:D35 N18:P18 both No
30 X NaN B Barzahlung Brot 2017-08-01 -0.95 BP Bargeld Paul NaN ... Lebensmittel NaN NaN NaN NaN NaN A36:D36 K8:M8 both No
31 X NaN B Barzahlung Brot 2017-08-01 -0.95 BP Bargeld Paul NaN ... Lebensmittel NaN NaN NaN NaN NaN A37:D37 K8:M8 both No
32 X NaN NaN NaN Doppelter Kaffee Trianon 2017-08-02 -1.50 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A38:D38 NaN left_only No
33 X NaN NaN NaN Kaffee 2017-08-02 -0.70 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A39:D39 NaN left_only No
34 X NaN NaN NaN Mr Tom 2017-08-02 -0.40 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A40:D40 NaN left_only No
35 X NaN K Kartenzahlung Real 2017-08-02 -6.86 KG gemeinsames Konto NaN ... Lebensmittel NaN NaN NaN NaN NaN A41:D41 N22:P22 both No
36 X NaN NaN NaN Espresso 2017-08-03 -0.80 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A42:D42 NaN left_only No
37 X NaN NaN NaN Kaffee 2017-08-03 -0.70 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A43:D43 NaN left_only No
38 X NaN NaN NaN Kaffee 2017-08-03 -0.70 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A44:D44 NaN left_only No
39 X NaN NaN NaN Mittagessen Casino 2017-08-03 -3.73 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A45:D45 NaN left_only No
40 X NaN NaN NaN Kaffee 2017-08-04 -0.70 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A46:D46 NaN left_only No
41 X NaN NaN NaN Kaffee 2017-08-04 -0.75 NaN NaN NaN ... Mensa, Kantine, Kasino NaN NaN NaN NaN NaN A47:D47 NaN left_only No
42 X NaN K Kartenzahlung Kaufland 2017-08-04 -13.95 KG gemeinsames Konto NaN ... Lebensmittel NaN NaN NaN NaN NaN A48:D48 N25:P25 both No
43 X NaN K Kartenzahlung McDonalds 2017-08-05 -2.59 KG gemeinsames Konto NaN ... Ausgehen Restaurant NaN NaN NaN NaN NaN A49:D49 N26:P26 both No
44 X NaN K Kartenzahlung H&M 2017-08-05 -55.08 KG gemeinsames Konto NaN ... Langlebige Produkte NaN NaN NaN NaN NaN A50:D50 N27:P27 both No
45 X NaN K Kartenzahlung Rewe Wasser 2017-08-05 -1.17 KG gemeinsames Konto NaN ... Lebensmittel NaN NaN NaN NaN NaN A51:D51 N28:P28 both No
46 X NaN K Kartenzahlung Edeka 2017-08-05 -5.43 KG gemeinsames Konto NaN ... Lebensmittel NaN NaN NaN NaN NaN A52:D52 N31:P31 both No
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
120 X NaN B Barzahlung Geld abheben 2017-08-03 30.00 BM Bargeld Max NaN ... NaN NaN NaN NaN NaN NaN NaN H8:J8 right_only No
121 X NaN B Barzahlung Geld aufladen Trianon 2017-08-02 -20.00 BM Bargeld Max NaN ... NaN NaN NaN NaN NaN NaN NaN H9:J9 right_only No
122 X NaN B Barzahlung Geld aus Schatulle 2017-08-05 1.30 BM Bargeld Max NaN ... NaN NaN NaN NaN NaN NaN NaN H10:J10 right_only No
123 X NaN B Barzahlung Betriebsausflug 2017-08-07 -18.50 BM Bargeld Max NaN ... NaN NaN NaN NaN NaN NaN NaN H11:J11 right_only No
124 X NaN B Barzahlung Geldfund 2017-08-12 0.05 BM Bargeld Max NaN ... NaN NaN NaN NaN NaN NaN NaN H12:J12 right_only No
125 X NaN B Barzahlung BBk Karte Aufladen 2017-08-14 -10.00 BM Bargeld Max NaN ... NaN NaN NaN NaN NaN NaN NaN H15:J15 right_only No
126 X NaN B Barzahlung Geld aus Schatulle 2017-08-20 0.50 BM Bargeld Max NaN ... NaN NaN NaN NaN NaN NaN NaN H19:J19 right_only No
127 X NaN B Barzahlung Schatullenkorrektur 2017-08-20 1.05 BM Bargeld Max NaN ... NaN NaN NaN NaN NaN NaN NaN H20:J20 right_only No
128 X NaN B Barzahlung Schatullenkorrektur 2017-08-20 -1.05 BM Bargeld Max NaN ... NaN NaN NaN NaN NaN NaN NaN H21:J21 right_only No
129 X NaN B Barzahlung Geld abheben 2017-08-22 40.00 BM Bargeld Max NaN ... NaN NaN NaN NaN NaN NaN NaN H22:J22 right_only No
130 X NaN B Barzahlung Karte aufladen 2017-08-28 -10.00 BM Bargeld Max NaN ... NaN NaN NaN NaN NaN NaN NaN H25:J25 right_only No
131 X NaN B Barzahlung Geld aus Schatulle NaT 1.00 BP Bargeld Paul NaN ... NaN NaN NaN NaN NaN NaN NaN K7:M7 right_only No
132 X NaN B Barzahlung Geld aus Schatulle 2017-08-08 1.35 BP Bargeld Paul NaN ... NaN NaN NaN NaN NaN NaN NaN K10:M10 right_only No
133 X NaN B Barzahlung Geld abheben 2017-08-21 20.00 BP Bargeld Paul NaN ... NaN NaN NaN NaN NaN NaN NaN K12:M12 right_only No
134 X NaN K Kartenzahlung Budgetbeitrag von BMS 2017-07-28 1468.00 KG gemeinsames Konto NaN ... NaN NaN NaN NaN NaN NaN NaN N7:P7 right_only No
135 X NaN K Kartenzahlung Miete FFM auf Max Konto 2017-08-02 450.00 KG gemeinsames Konto NaN ... NaN NaN NaN NaN NaN NaN NaN N19:P19 right_only No
136 X NaN K Kartenzahlung Ausgehen mit Kollegen 2017-08-02 -20.60 KG gemeinsames Konto NaN ... NaN NaN NaN NaN NaN NaN NaN N21:P21 right_only No
137 X NaN K Kartenzahlung Abheben 2017-08-03 -30.00 KG gemeinsames Konto NaN ... NaN NaN NaN NaN NaN NaN NaN N24:P24 right_only No
138 X NaN K Kartenzahlung Sommerticket DB 2017-08-05 -96.00 KG gemeinsames Konto NaN ... NaN NaN NaN NaN NaN NaN NaN N29:P29 right_only No
139 X NaN K Kartenzahlung Sommerticket DB 2017-08-05 -96.00 KG gemeinsames Konto NaN ... NaN NaN NaN NaN NaN NaN NaN N30:P30 right_only No
140 X NaN S SEPA-Mandat Amazon Fail Topf 2017-08-06 -4.61 KG gemeinsames Konto NaN ... NaN NaN NaN NaN NaN NaN NaN N35:P35 right_only No
143 X NaN K Kartenzahlung Sommerticket DB 2017-08-14 -192.00 KG gemeinsames Konto NaN ... NaN NaN NaN NaN NaN NaN NaN N48:P48 right_only No
144 X NaN K Kartenzahlung Vorschuss für Sparticket 2017-08-14 192.00 KG gemeinsames Konto NaN ... NaN NaN NaN NaN NaN NaN NaN N49:P49 right_only No
145 X NaN K Kartenzahlung Geld abheben 2017-08-21 -20.00 KG gemeinsames Konto NaN ... NaN NaN NaN NaN NaN NaN NaN N65:P65 right_only No
146 X NaN K Kartenzahlung Geld abheben 2017-08-22 -40.00 KG gemeinsames Konto NaN ... NaN NaN NaN NaN NaN NaN NaN N68:P68 right_only No
147 X NaN K Kartenzahlung Umbuchung 2017-08-23 302.79 KG gemeinsames Konto NaN ... NaN NaN NaN NaN NaN NaN NaN N73:P73 right_only No
148 X NaN K Kartenzahlung Hotelkosten 2017-08-24 -188.00 KG gemeinsames Konto NaN ... NaN NaN NaN NaN NaN NaN NaN N74:P74 right_only No
149 X NaN K Kartenzahlung Vorschuss Reisekosten Köln 2017-08-26 193.60 KG gemeinsames Konto NaN ... NaN NaN NaN NaN NaN NaN NaN N78:P78 right_only No
150 X NaN K Kartenzahlung Prüfungsgebühr auf Max' Konto 2017-08-28 15.00 KG gemeinsames Konto NaN ... NaN NaN NaN NaN NaN NaN NaN N81:P81 right_only No
151 X NaN K Kartenzahlung Prüfungsgebühr Dr. Hochs Konservatorium 2017-08-28 -15.00 KG gemeinsames Konto NaN ... NaN NaN NaN NaN NaN NaN NaN N82:P82 right_only No

131 rows × 23 columns


In [ ]:
### List of all fully matched things we didnt treat yet
#subsetting_rules = {'_merge' : 'both', 'treated' : 'No'}
#remaining_matched = subset_data_frame(all_info, subsetting_rules)
#
#display(remaining_matched)
#display(untreated_data)

In [ ]:
### For the "GK" (Gemeinsames Konto) Payments we create an excel sheet, where we can change the payment type
#subsetting_rules = {'treated' : 'No'}
#remaining = subset_data_frame(all_info, subsetting_rules)
#remaining = remaining.loc[remaining.index.difference(untreated_data.index)]
#
#wb_filename = 'remaining.xlsx'
#definition_data = 'base_excel.json'
#
#create_excel_table_from_data(remaining, wb_filename, db, definition_data)
#checked_remaining = use_excel_for_data_entry(wb_filename, copy_mode=False)

In [ ]:
#temporary_id_lookup = {}
#
#for index, row in checked_remaining.iterrows() :
#    if row['ignore'] == 'X' :
#        untreated_data = untreated_data.append(checked_full_match_konto.loc[index])
#        continue
#        
#    excel_ranges = ([] if np.isnan(row['excel_range_x']) else [row['excel_range_x']]) + \
#                   ([] if np.isnan(row['excel_range_y']) else [row['excel_range_y']])
#    
#    if not np.isnan(row['temporary_id']) and row['temporary_id'] in temporary_id_lookup :
#        the_id = temporary_id_lookup[row['temporary_id']]
#    else :
#        the_id = create_money_event(db, row['type_description'], row['description'], row['date'])
#        
#
#        full_excel_ranges = [current_sheet.title + '!' + a_range for a_range in excel_ranges]
#    
#        database_comment = autogenerate_database_comment_multiple_excel_ranges(
#            excel_filename, full_excel_ranges, comment_sheet.title)
#        
#        add_database_event(db, the_id, database_comment)
#        
#        if not np.isnan(row['temporary_id']) :
#            temporary_id_lookup[row['temporary_id']] = the_id
#    
#    ## ToDo : Add commenting into database and Excel
#    
#    if row['is_budget_event'] == 'X' :
#        add_budget_event(db, the_id, row['budget_pot'], row['amount'])
#    if row['is_payment'] == 'X' :
#        add_payment(db, the_id, row['money_pot'], row['amount'])
#    if row['is_recieving'] == 'X' :
#        add_payment(db, the_id, row['money_pot'], row['amount'])
#    if row['is_transfer'] == 'X' :
#        add_payment(db, the_id, row['money_pot'], row['money_pot_sink'], row['amount'])
#    
#    if not np.isnan(row['in_group']) :  
#        if row['in_group'] not in event_groups_df.index :
#            if row['group_name'][0] == '=' :
#                raise ValueError(
#                    "You should not use a formula as group name! The given group name was {}.".format(
#                        row['group_name']))
#            crsr = db.cursor()
#            crsr.execute('INSERT INTO event_groups VALUES ({}, "{}")'.format(
#                row['in_group'], row['group_name']))
#            db.commit()
#            event_groups_df = pd.read_sql('SELECT * FROM event_groups', db, index_col='group_id')
#            
#        crsr = db.cursor()
#        crsr.execute('INSERT INTO event_in_group VALUES ({}, {})'.format(row['in_group'], the_id))
#        db.commit()
#    
#    excel_comment = autogenerate_excel_comment(dt.now().strftime('%Y-%m-%d'), db_filename, the_id)
#    excel_cell_list = list(chain.from_iterable([list_from_range_string(a_range) for a_range in ranges]))
#    put_comment_into_excel(comment_sheet, excel_cell_list, excel_comment)
#    
#    all_info.loc[index, 'treated'] = 'Yes'

In [ ]:
wb.save('GemBil.xlsx')

In [ ]:
db.close()

In [14]:
# read a full table into a pandas data framd
crsr = db.cursor()
crsr.execute("SELECT name FROM sqlite_master WHERE type='table';")

for table in crsr.fetchall() :
    display(pd.read_sql_query('SELECT * FROM {};'.format(table[0]), db))


key description liquid
0 KG gemeinsames Konto Yes
1 KE Extrakonto zum gemeinsamen Konto Yes
2 KM Konto Max Yes
3 KP Konto Paul Yes
4 KB Konto Bundesbank Yes
5 KC Consorsbankkonto No
6 BM Bargeld Max Yes
7 BP Bargeld Paul Yes
8 CB Chipkarte Bundesbank Semi
9 CT Chipkarte Trianon Semi
10 CM Chipkarte Mensa Potsdam Semi
11 GM Geldkarte Max Semi
12 SB Schatulle Berlin Yes
13 SF Schatulle Frankfurt Yes
category type description abbreviation
0 Zahlung Barzahlung bares Bezahlen B
1 Zahlung Kartenzahlung Zahlen mit Visa oder Girokarte K
2 Zahlung Überweisung Rechnungsbegleichung durch Überweisen U
3 Zahlung Dauerauftrag automatische (regelmäßige) Rechnungsbegleichun... D
4 Zahlung SEPA-Mandat automatische (regelmäßige) Rechnungsbegleichun... S
5 Zahlung Bankeinzug Rechnungsbegleichung durch direkten Bankeinzug BE
6 Transfer Abheben Geldabheben A
7 Transfer Aufladen Aufladen auf eine Chipkarte AU
8 Transfer Kontotransfer Transger von Geld zwischen zwei Konten KT
9 Transfer Bargeldtransfer Transfer von Bargeld zwischen zwei baren Geldt... BT
10 Recieving Einnahme reguläre Geldeinnahme E
11 Recieving Geldfund unerwartete Geldeinnahme, z.B. Geldfund GF
key description type
0 L Lebensmittel None
1 A Ausgehen Restaurant None
2 AE Ausgehen Eis, Cafe A
3 AB Ausgehen Döner, Bistro, ... A
4 AM Mensa, Kantine, Kasino None
5 S Langlebige Produkte None
6 SK Klamotten S
7 R regelmäßige und budgetierte Ausgaben None
8 RM Mietzahlungen R
9 RV Versicherungs- und Vertragsbeträge R
10 RP Pflichtbeiträge R
11 D Driogerieprodukte None
12 DA Arzeneimittel D
13 M Miscellaneous None
14 T Transportkosten M
id type description date
0 2017013001 SEPA-Mandat Rechtsschutzversicherung 2017-01-30 00:00:00
1 2017041801 Kartenzahlung Backblaze Max 2017-04-18 00:00:00
2 2017041802 Kartenzahlung Backblaze Paul 2017-04-18 00:00:00
3 2017062101 Überweisung Semestergebühr Paul 2017-06-21 00:00:00
4 2017062102 Überweisung Semestergebühr Max 2017-06-21 00:00:00
5 2017062901 Überweisung GEZ 2017-06-29 00:00:00
6 2017070501 SEPA-Mandat GEW 2017-07-05 00:00:00
7 2017073101 Kartenzahlung Monatskarte FFM 2017-07-31 00:00:00
8 2017080101 Kartenzahlung Miete 2017-08-01 00:00:00
9 2017080201 Kartenzahlung Miete FFM 2017-08-02 00:00:00
10 2017081001 Kartenzahlung Handy Max 2017-08-10 00:00:00
11 2017081002 SEPA-Mandat Handy Paul 2017-08-10 00:00:00
12 2017081003 nan Rossmann Zahnbürste 2017-08-10 00:00:00
13 2017081501 Kartenzahlung Spotify Max 2017-08-15 00:00:00
14 2017082501 Kartenzahlung Apple Music Paul 2017-08-25 00:00:00
15 2017082801 SEPA-Mandat Vodafone 2017-08-28 00:00:00
16 2017083001 Kartenzahlung Strom EnviaM 2017-08-30 00:00:00
id money_pot amount additional_description effect_date
0 2017080101 KG -568.00 None None
1 2017080201 KG -450.00 None None
2 2017083001 KG -51.00 None None
3 2017082501 KG -4.99 None None
4 2017073101 KG -87.40 None None
5 2017081002 KG -13.99 None None
6 2017081003 KG -20.53 None None
7 2017082801 KG -20.19 None None
id money_pot amount additional_description effect_date
id money_pot_source money_pot_sink amount additional_description effect_date
id budget_pot amount additional_description budget_effet_date
0 2017080101 R -568.00 None None
1 2017080201 R -450.00 None None
2 2017083001 R -51.00 None None
3 2017082801 R -19.99 None None
4 2017082801 M -0.20 None None
5 2017013001 R -13.90 None None
6 2017070501 G -2.50 None None
7 2017062101 R -46.15 None None
8 2017062102 R -50.56 None None
9 2017062901 R -17.50 None None
10 2017081001 R -7.99 None None
11 2017081002 R -7.99 None None
12 2017081501 G -4.99 None None
13 2017082501 G -4.99 None None
14 2017041801 G -3.77 None None
15 2017073101 R -87.40 None None
16 2017041802 G -3.77 None None
17 2017081003 S -15.99 None None
18 2017081003 D -4.54 None None
19 2017081002 M -6.00 None None
group_id description
0 1 Miete
1 2 Haftpflichtversicherung
2 3 Berufsunfähigkeitsversicherung
3 4 Rechtsschutzversicherung
4 5 Strom
5 6 Vodafone
6 7 Drillisch Paul
7 8 Drillisch Max
8 9 Apple Music Paul
9 10 Spotify Max
10 11 Backblaze
11 12 Semestergebühr Paul
12 13 Semestergebühr Max
13 14 Sportjahresgebühr
14 15 Sport
15 16 GEW
16 17 GEZ
17 18 Miete FFM
18 19 Probebahncard 100
19 20 MyBahncard 50 Paul
group_id event_id
0 1 2017080101
1 18 2017080201
2 5 2017083001
3 6 2017082801
4 4 2017013001
5 16 2017070501
6 12 2017062101
7 13 2017062102
8 17 2017062901
9 8 2017081001
10 7 2017081002
11 10 2017081501
12 9 2017082501
13 11 2017041801
14 11 2017041802
type description
0 Erstellung Erstellung eines Eintrages
1 Update Hinzufügen von Information
2 Korrektur Korrigieren eines Eintrages
3 Löschung Löschen eines Eintrages
id type date description
0 2017080101 Erstellung 2017-11-05 This entry was automatically generated from th...
1 2017080201 Erstellung 2017-11-05 This entry was automatically generated from th...
2 2017083001 Erstellung 2017-11-05 This entry was automatically generated from th...
3 2017082801 Erstellung 2017-11-05 This entry was automatically generated from th...
4 2017013001 Erstellung 2017-11-05 This entry was automatically generated from th...
5 2017070501 Erstellung 2017-11-05 This entry was automatically generated from th...
6 2017062101 Erstellung 2017-11-05 This entry was automatically generated from th...
7 2017062102 Erstellung 2017-11-05 This entry was automatically generated from th...
8 2017062901 Erstellung 2017-11-05 This entry was automatically generated from th...
9 2017081001 Erstellung 2017-11-05 This entry was automatically generated from th...
10 2017081002 Erstellung 2017-11-05 This entry was automatically generated from th...
11 2017081501 Erstellung 2017-11-05 This entry was automatically generated from th...
12 2017082501 Erstellung 2017-11-05 This entry was automatically generated from th...
13 2017041801 Erstellung 2017-11-05 This entry was automatically generated from th...
14 2017073101 Erstellung 2017-11-05 This entry was automatically generated from th...
15 2017041802 Erstellung 2017-11-05 This entry was automatically generated from th...
16 2017081003 Erstellung 2017-11-05 This entry was automatically generated from th...

In [15]:
db_filename = 'my-budget-dev-v4.sqlite'

db = sql.connect(db_filename)

display(pd.read_sql_query('''
    SELECT * FROM 
    (money_events LEFT JOIN budget_events ON money_events.id = budget_events.id)
    LEFT JOIN payments ON money_events.id = payments.id
''', db))


id type description date id budget_pot amount additional_description budget_effet_date id money_pot amount additional_description effect_date
0 2017013001 SEPA-Mandat Rechtsschutzversicherung 2017-01-30 00:00:00 2017013001 R -13.90 None None NaN None NaN None None
1 2017041801 Kartenzahlung Backblaze Max 2017-04-18 00:00:00 2017041801 G -3.77 None None NaN None NaN None None
2 2017041802 Kartenzahlung Backblaze Paul 2017-04-18 00:00:00 2017041802 G -3.77 None None NaN None NaN None None
3 2017062101 Überweisung Semestergebühr Paul 2017-06-21 00:00:00 2017062101 R -46.15 None None NaN None NaN None None
4 2017062102 Überweisung Semestergebühr Max 2017-06-21 00:00:00 2017062102 R -50.56 None None NaN None NaN None None
5 2017062901 Überweisung GEZ 2017-06-29 00:00:00 2017062901 R -17.50 None None NaN None NaN None None
6 2017070501 SEPA-Mandat GEW 2017-07-05 00:00:00 2017070501 G -2.50 None None NaN None NaN None None
7 2017073101 Kartenzahlung Monatskarte FFM 2017-07-31 00:00:00 2017073101 R -87.40 None None 2.017073e+09 KG -87.40 None None
8 2017080101 Kartenzahlung Miete 2017-08-01 00:00:00 2017080101 R -568.00 None None 2.017080e+09 KG -568.00 None None
9 2017080201 Kartenzahlung Miete FFM 2017-08-02 00:00:00 2017080201 R -450.00 None None 2.017080e+09 KG -450.00 None None
10 2017081001 Kartenzahlung Handy Max 2017-08-10 00:00:00 2017081001 R -7.99 None None NaN None NaN None None
11 2017081002 SEPA-Mandat Handy Paul 2017-08-10 00:00:00 2017081002 M -6.00 None None 2.017081e+09 KG -13.99 None None
12 2017081002 SEPA-Mandat Handy Paul 2017-08-10 00:00:00 2017081002 R -7.99 None None 2.017081e+09 KG -13.99 None None
13 2017081003 nan Rossmann Zahnbürste 2017-08-10 00:00:00 2017081003 D -4.54 None None 2.017081e+09 KG -20.53 None None
14 2017081003 nan Rossmann Zahnbürste 2017-08-10 00:00:00 2017081003 S -15.99 None None 2.017081e+09 KG -20.53 None None
15 2017081501 Kartenzahlung Spotify Max 2017-08-15 00:00:00 2017081501 G -4.99 None None NaN None NaN None None
16 2017082501 Kartenzahlung Apple Music Paul 2017-08-25 00:00:00 2017082501 G -4.99 None None 2.017083e+09 KG -4.99 None None
17 2017082801 SEPA-Mandat Vodafone 2017-08-28 00:00:00 2017082801 M -0.20 None None 2.017083e+09 KG -20.19 None None
18 2017082801 SEPA-Mandat Vodafone 2017-08-28 00:00:00 2017082801 R -19.99 None None 2.017083e+09 KG -20.19 None None
19 2017083001 Kartenzahlung Strom EnviaM 2017-08-30 00:00:00 2017083001 R -51.00 None None 2.017083e+09 KG -51.00 None None

In [16]:
display(pd.read_sql_query('''
    SELECT * FROM 
    (money_events LEFT JOIN budget_events ON money_events.id = budget_events.id)
    LEFT JOIN payments ON money_events.id = payments.id
    WHERE money_events.id = 2017081002
''', db))


id type description date id budget_pot amount additional_description budget_effet_date id money_pot amount additional_description effect_date
0 2017081002 SEPA-Mandat Handy Paul 2017-08-10 00:00:00 2017081002 R -7.99 None None 2017081002 KG -13.99 None None
1 2017081002 SEPA-Mandat Handy Paul 2017-08-10 00:00:00 2017081002 M -6.00 None None 2017081002 KG -13.99 None None

In [ ]: