personal finance control engine
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

352 lines
24 KiB

{
"cells": [
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Data, Dependencia Origem, Histórico, Data do Balancete, Número do documento, Valor, \n",
"12/08/2024, , Saldo Anterior, , 0, 0.00, \n",
"16/08/2024, , Pix - Enviado - 16/08 13:12 Carlos Eduardo De Freitas, , 81601, -1000.00, \n",
"16/08/2024, , Pix - Enviado - 16/08 14:05 Marcio De Oliveira Silva, , 81602, -20.00, \n",
"16/08/2024, , BB RF Ref DI Mega - BB RF Referenciado DI LP Mega, , 916, 1020.00, \n",
"19/08/2024, , Pix - Enviado - 19/08 09:17 Franpeso Gas, , 81901, -135.00, \n",
"19/08/2024, , BB RF Ref DI Mega - BB RF Referenciado DI LP Mega, , 916, 135.00, \n",
"20/08/2024, , Recebimento de Proventos - BANCO DO BRASIL S A, , 2256, 11634.25, \n",
"20/08/2024, , Pagamento de Impostos - RFB-DOC.ARREC.E-SOCIAL, , 82001, -444.27, \n",
"20/08/2024, , Pix - Enviado - 20/08 08:39 Jose Reinaldo Da Silva, , 82002, -57.00, \n",
"21/08/2024, , Recebimento de Proventos - TRIBUNAL REGIONAL FEDERAL DA 1 REGIAO, , 81239, 17327.48, \n",
"21/08/2024, , Pix - Enviado - 21/08 07:48 Bruno Dos Santos Rocha, , 82101, -187.00, \n",
"21/08/2024, , Vivo Celular - VIVO MOVEL - DF, , 40929, -252.23, \n",
"22/08/2024, , Ordem Banc 12 Sec Tes Nac - 036585070001-25 SECRETARIA DO T.R.F. D, , 4329749000000, 2757.92, \n",
"22/08/2024, , Pix - Enviado - 22/08 19:53 Vibra Energia Sa, , 82201, -261.78, \n",
"23/08/2024, , Taxa Compra/Venda Ações, , 102360800133694, -0.29, \n",
"23/08/2024, , Compra de Ações, , 102360800133696, -5852.00, \n",
"23/08/2024, , Taxa Compra/Venda Ações, , 102360800133698, -1.46, \n",
"23/08/2024, , Pix - Enviado - 23/08 09:02 Tatiana Von Paumgartten Va, , 82301, -180.00, \n",
"23/08/2024, , Pix - Enviado - 23/08 14:32 Makley Guedes Claudino, , 82302, -572.00, \n",
"23/08/2024, , Pagto Energia Elétrica - NEOENERGIA BRASíLIA, , 40310, -451.19, \n",
"26/08/2024, , Pix - Enviado - 24/08 11:02 Detran Df, , 82601, -104.13, \n",
"26/08/2024, , Pix - Enviado - 26/08 13:28 Chb Centro H Brasilia Ltda, , 82602, -400.00, \n",
"26/08/2024, , Pix - Enviado - 26/08 21:34 Livepix, , 82603, -50.00, \n",
"26/08/2024, , Pagto cartão crédito - VISA INFINITE, , 82840286, -19634.96, \n",
"26/08/2024, , Pagamento de Telefone - VIVO FIXO NACIONAL 13 DIG, , 11015, -110.00, \n",
"27/08/2024, , Recebimentos Diversos - PRO/TRF PROGRAMA DE ASSISTENCIA AOS, , 48285, 349.36, \n",
"27/08/2024, , BB Seguro Auto - SEGURO AUTO BB/MAPFRE, , 16458, -299.16, \n",
"28/08/2024, , Cashback automático cc - Cashback Automático, , 422198659, 196.33, \n",
"28/08/2024, , Pix - Enviado - 28/08 18:53 Jose Reinaldo Da Silva, , 82801, -80.00, \n",
"29/08/2024, , Pix - Enviado - 29/08 13:14 Italo Rodrigues Machado, , 82901, -50.00, \n",
"29/08/2024, , Pix - Enviado - 29/08 13:21 Au Au Que Visual Pet Shop, , 82902, -100.00, \n",
"30/08/2024, , Remuneração sobre ações, , 102416500013661, 0.91, \n",
"30/08/2024, , Remuneração sobre ações, , 102416500013661, 0.01, \n",
"30/08/2024, , Remuneração sobre ações, , 102416500013661, 1.60, \n",
"30/08/2024, , Remuneração sobre ações, , 102416500013661, 0.03, \n",
"30/08/2024, , Movimento do Dia, , 102430800152034, 90.36, \n",
"30/08/2024, , Ações - Proventos - Pag Dividendos BBAS3 30/08/2024, , 102430800152044, 30.37, \n",
"30/08/2024, , Ações - Proventos - Pag Jur Cap Pro BBAS3 30/08/2024, , 102430800152044, 53.46, \n",
"30/08/2024, , Ações - Proventos - Pag Rendimento BBAS3 30/08/2024, , 102430800152044, 1.29, \n",
"30/08/2024, , Pagamento de Boleto - PJBANK PAGAMENTOS S A, , 83001, -1351.62, \n",
"02/09/2024, , Pix - Enviado - 31/08 09:31 Francina Noleto Aires, , 90201, -90.00, \n",
"02/09/2024, , TED Transf.Eletr.Disponiv - 104 2272 28986008149 MARIA ELIENE DE O, , 90202, -1481.73, \n",
"03/09/2024, , Recebimentos Diversos - PRO/TRF PROGRAMA DE ASSISTENCIA AOS, , 188806, 174.68, \n",
"03/09/2024, , Pix - Enviado - 03/09 09:38 Anizia Maria Pinheiro De A, , 90301, -120.00, \n",
"03/09/2024, , Pix - Enviado - 03/09 15:51 Vibra Energia Sa, , 90302, -237.99, \n",
"03/09/2024, , Pix - Enviado - 03/09 18:30 Manoel Erivan D Da Silva, , 90303, -550.00, \n",
"03/09/2024, , BB RF Ref DI Mega - BB RF Referenciado DI LP Mega, , 916, 300.76, \n",
"05/09/2024, , Pagamento de Boleto - MONI IMOVEIS LTDA, , 90501, -6431.37, \n",
"05/09/2024, , Pix - Enviado - 05/09 12:27 Helen Bruna Nascimento Far, , 90502, -800.00, \n",
"05/09/2024, , BB RF Ref DI Mega - BB RF Referenciado DI LP Mega, , 916, 7231.37, \n",
"06/09/2024, , Ordem Banc 12 Sec Tes Nac - 036585070001-25 SECRETARIA DO T.R.F. D, , 4660161000000, 3093.52, \n",
"09/09/2024, , Pix - Enviado - 09/09 21:53 Natalia Pinheiro Moreira M, , 90901, -20.00, \n",
"10/09/2024, , Pagamento de Boleto - INSPIRA MUDANCA PARTICIPACOES S/A, , 91001, -3196.00, \n",
"10/09/2024, , Pix - Enviado - 10/09 10:09 Utb Uniao Transporte Brasi, , 91002, -300.00, \n",
"10/09/2024, , BB RF Ref DI Mega - BB RF Referenciado DI LP Mega, , 916, 422.48, \n",
"11/09/2024, , Pagamento de Boleto - INSPIRA MUDANCA PARTICIPACOES S/A, , 91101, -900.00, \n",
"11/09/2024, , BB RF Ref DI Mega, , 916, 900.00, \n",
"12/09/2024, , S A L D O, , 0, 0.00, \n"
]
}
],
"source": [
"import csv\n",
"\n",
"with open(\"./documents/extrato_ago_24.csv\", newline=\"\", encoding=\"latin\") as csvfile:\n",
" spamreader = csv.reader(csvfile)\n",
" for row in spamreader:\n",
" print(\", \".join(row))"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[['12/08/2024', '', 'Saldo Anterior', '', '0', '0.00', ''], ['16/08/2024', '', 'Pix - Enviado - 16/08 13:12 Carlos Eduardo De Freitas', '', '81601', '-1000.00', ''], ['16/08/2024', '', 'Pix - Enviado - 16/08 14:05 Marcio De Oliveira Silva', '', '81602', '-20.00', ''], ['16/08/2024', '', 'BB RF Ref DI Mega - BB RF Referenciado DI LP Mega', '', '916', '1020.00', ''], ['19/08/2024', '', 'Pix - Enviado - 19/08 09:17 Franpeso Gas', '', '81901', '-135.00', ''], ['19/08/2024', '', 'BB RF Ref DI Mega - BB RF Referenciado DI LP Mega', '', '916', '135.00', ''], ['20/08/2024', '', 'Recebimento de Proventos - BANCO DO BRASIL S A', '', '2256', '11634.25', ''], ['20/08/2024', '', 'Pagamento de Impostos - RFB-DOC.ARREC.E-SOCIAL', '', '82001', '-444.27', ''], ['20/08/2024', '', 'Pix - Enviado - 20/08 08:39 Jose Reinaldo Da Silva', '', '82002', '-57.00', ''], ['21/08/2024', '', 'Recebimento de Proventos - TRIBUNAL REGIONAL FEDERAL DA 1 REGIAO', '', '81239', '17327.48', ''], ['21/08/2024', '', 'Pix - Enviado - 21/08 07:48 Bruno Dos Santos Rocha', '', '82101', '-187.00', ''], ['21/08/2024', '', 'Vivo Celular - VIVO MOVEL - DF', '', '40929', '-252.23', ''], ['22/08/2024', '', 'Ordem Banc 12 Sec Tes Nac - 036585070001-25 SECRETARIA DO T.R.F. D', '', '4329749000000', '2757.92', ''], ['22/08/2024', '', 'Pix - Enviado - 22/08 19:53 Vibra Energia Sa', '', '82201', '-261.78', ''], ['23/08/2024', '', 'Taxa Compra/Venda Ações', '', '102360800133694', '-0.29', ''], ['23/08/2024', '', 'Compra de Ações', '', '102360800133696', '-5852.00', ''], ['23/08/2024', '', 'Taxa Compra/Venda Ações', '', '102360800133698', '-1.46', ''], ['23/08/2024', '', 'Pix - Enviado - 23/08 09:02 Tatiana Von Paumgartten Va', '', '82301', '-180.00', ''], ['23/08/2024', '', 'Pix - Enviado - 23/08 14:32 Makley Guedes Claudino', '', '82302', '-572.00', ''], ['23/08/2024', '', 'Pagto Energia Elétrica - NEOENERGIA BRASíLIA', '', '40310', '-451.19', ''], ['26/08/2024', '', 'Pix - Enviado - 24/08 11:02 Detran Df', '', '82601', '-104.13', ''], ['26/08/2024', '', 'Pix - Enviado - 26/08 13:28 Chb Centro H Brasilia Ltda', '', '82602', '-400.00', ''], ['26/08/2024', '', 'Pix - Enviado - 26/08 21:34 Livepix', '', '82603', '-50.00', ''], ['26/08/2024', '', 'Pagto cartão crédito - VISA INFINITE', '', '82840286', '-19634.96', ''], ['26/08/2024', '', 'Pagamento de Telefone - VIVO FIXO NACIONAL 13 DIG', '', '11015', '-110.00', ''], ['27/08/2024', '', 'Recebimentos Diversos - PRO/TRF PROGRAMA DE ASSISTENCIA AOS', '', '48285', '349.36', ''], ['27/08/2024', '', 'BB Seguro Auto - SEGURO AUTO BB/MAPFRE', '', '16458', '-299.16', ''], ['28/08/2024', '', 'Cashback automático cc - Cashback Automático', '', '422198659', '196.33', ''], ['28/08/2024', '', 'Pix - Enviado - 28/08 18:53 Jose Reinaldo Da Silva', '', '82801', '-80.00', ''], ['29/08/2024', '', 'Pix - Enviado - 29/08 13:14 Italo Rodrigues Machado', '', '82901', '-50.00', ''], ['29/08/2024', '', 'Pix - Enviado - 29/08 13:21 Au Au Que Visual Pet Shop', '', '82902', '-100.00', ''], ['30/08/2024', '', 'Remuneração sobre ações', '', '102416500013661', '0.91', ''], ['30/08/2024', '', 'Remuneração sobre ações', '', '102416500013661', '0.01', ''], ['30/08/2024', '', 'Remuneração sobre ações', '', '102416500013661', '1.60', ''], ['30/08/2024', '', 'Remuneração sobre ações', '', '102416500013661', '0.03', ''], ['30/08/2024', '', 'Movimento do Dia', '', '102430800152034', '90.36', ''], ['30/08/2024', '', 'Ações - Proventos - Pag Dividendos BBAS3 30/08/2024', '', '102430800152044', '30.37', ''], ['30/08/2024', '', 'Ações - Proventos - Pag Jur Cap Pro BBAS3 30/08/2024', '', '102430800152044', '53.46', ''], ['30/08/2024', '', 'Ações - Proventos - Pag Rendimento BBAS3 30/08/2024', '', '102430800152044', '1.29', ''], ['30/08/2024', '', 'Pagamento de Boleto - PJBANK PAGAMENTOS S A', '', '83001', '-1351.62', ''], ['02/09/2024', '', 'Pix - Enviado - 31/08 09:31 Francina Noleto Aires', '', '90201', '-90.00', ''], ['02/09/2024', '', 'TED Transf.Eletr.Disponiv - 104 2272 28986008149 MARIA ELIENE DE O', '', '90202', '-1481.73', ''], ['03/09/2024', '', 'Recebimentos Diversos - PRO/TRF PROGRAMA DE ASSISTENCIA AOS', '', '188806', '174.68', ''], ['03/09/2024', '', 'Pix - Enviado - 03/09 09:38 Anizia Maria Pinheiro De A', '', '90301', '-120.00', ''], ['03/09/2024', '', 'Pix - Enviado - 03/09 15:51 Vibra Energia Sa', '', '90302', '-237.99', ''], ['03/09/2024', '', 'Pix - Enviado - 03/09 18:30 Manoel Erivan D Da Silva', '', '90303', '-550.00', ''], ['03/09/2024', '', 'BB RF Ref DI Mega - BB RF Referenciado DI LP Mega', '', '916', '300.76', ''], ['05/09/2024', '', 'Pagamento de Boleto - MONI IMOVEIS LTDA', '', '90501', '-6431.37', ''], ['05/09/2024', '', 'Pix - Enviado - 05/09 12:27 Helen Bruna Nascimento Far', '', '90502', '-800.00', ''], ['05/09/2024', '', 'BB RF Ref DI Mega - BB RF Referenciado DI LP Mega', '', '916', '7231.37', ''], ['06/09/2024', '', 'Ordem Banc 12 Sec Tes Nac - 036585070001-25 SECRETARIA DO T.R.F. D', '', '4660161000000', '3093.52', ''], ['09/09/2024', '', 'Pix - Enviado - 09/09 21:53 Natalia Pinheiro Moreira M', '', '90901', '-20.00', ''], ['10/09/2024', '', 'Pagamento de Boleto - INSPIRA MUDANCA PARTICIPACOES S/A', '', '91001', '-3196.00', ''], ['10/09/2024', '', 'Pix - Enviado - 10/09 10:09 Utb Uniao Transporte Brasi', '', '91002', '-300.00', ''], ['10/09/2024', '', 'BB RF Ref DI Mega - BB RF Referenciado DI LP Mega', '', '916', '422.48', ''], ['11/09/2024', '', 'Pagamento de Boleto - INSPIRA MUDANCA PARTICIPACOES S/A', '', '91101', '-900.00', ''], ['11/09/2024', '', 'BB RF Ref DI Mega', '', '916', '900.00', ''], ['12/09/2024', '', 'S A L D O', '', '0', '0.00', '']]\n",
"['12/08/2024', '', 'Saldo Anterior', '', '0', '0.00', '']\n",
"12/08/2024\n",
"['12', '08', '2024']\n",
"12\n",
"['12/08/2024', '', 'Saldo Anterior', '', '0', '0.00', '']\n",
"['16/08/2024', '', 'Pix - Enviado - 16/08 13:12 Carlos Eduardo De Freitas', '', '81601', '-1000.00', '']\n",
"['16/08/2024', '', 'Pix - Enviado - 16/08 14:05 Marcio De Oliveira Silva', '', '81602', '-20.00', '']\n",
"['16/08/2024', '', 'BB RF Ref DI Mega - BB RF Referenciado DI LP Mega', '', '916', '1020.00', '']\n",
"['19/08/2024', '', 'Pix - Enviado - 19/08 09:17 Franpeso Gas', '', '81901', '-135.00', '']\n",
"['19/08/2024', '', 'BB RF Ref DI Mega - BB RF Referenciado DI LP Mega', '', '916', '135.00', '']\n",
"['20/08/2024', '', 'Recebimento de Proventos - BANCO DO BRASIL S A', '', '2256', '11634.25', '']\n",
"['20/08/2024', '', 'Pagamento de Impostos - RFB-DOC.ARREC.E-SOCIAL', '', '82001', '-444.27', '']\n",
"['20/08/2024', '', 'Pix - Enviado - 20/08 08:39 Jose Reinaldo Da Silva', '', '82002', '-57.00', '']\n",
"['21/08/2024', '', 'Recebimento de Proventos - TRIBUNAL REGIONAL FEDERAL DA 1 REGIAO', '', '81239', '17327.48', '']\n",
"['21/08/2024', '', 'Pix - Enviado - 21/08 07:48 Bruno Dos Santos Rocha', '', '82101', '-187.00', '']\n",
"['21/08/2024', '', 'Vivo Celular - VIVO MOVEL - DF', '', '40929', '-252.23', '']\n",
"['22/08/2024', '', 'Ordem Banc 12 Sec Tes Nac - 036585070001-25 SECRETARIA DO T.R.F. D', '', '4329749000000', '2757.92', '']\n",
"['22/08/2024', '', 'Pix - Enviado - 22/08 19:53 Vibra Energia Sa', '', '82201', '-261.78', '']\n",
"['23/08/2024', '', 'Taxa Compra/Venda Ações', '', '102360800133694', '-0.29', '']\n",
"['23/08/2024', '', 'Compra de Ações', '', '102360800133696', '-5852.00', '']\n",
"['23/08/2024', '', 'Taxa Compra/Venda Ações', '', '102360800133698', '-1.46', '']\n",
"['23/08/2024', '', 'Pix - Enviado - 23/08 09:02 Tatiana Von Paumgartten Va', '', '82301', '-180.00', '']\n",
"['23/08/2024', '', 'Pix - Enviado - 23/08 14:32 Makley Guedes Claudino', '', '82302', '-572.00', '']\n",
"['23/08/2024', '', 'Pagto Energia Elétrica - NEOENERGIA BRASíLIA', '', '40310', '-451.19', '']\n",
"['26/08/2024', '', 'Pix - Enviado - 24/08 11:02 Detran Df', '', '82601', '-104.13', '']\n",
"['26/08/2024', '', 'Pix - Enviado - 26/08 13:28 Chb Centro H Brasilia Ltda', '', '82602', '-400.00', '']\n",
"['26/08/2024', '', 'Pix - Enviado - 26/08 21:34 Livepix', '', '82603', '-50.00', '']\n",
"['26/08/2024', '', 'Pagto cartão crédito - VISA INFINITE', '', '82840286', '-19634.96', '']\n",
"['26/08/2024', '', 'Pagamento de Telefone - VIVO FIXO NACIONAL 13 DIG', '', '11015', '-110.00', '']\n",
"['27/08/2024', '', 'Recebimentos Diversos - PRO/TRF PROGRAMA DE ASSISTENCIA AOS', '', '48285', '349.36', '']\n",
"['27/08/2024', '', 'BB Seguro Auto - SEGURO AUTO BB/MAPFRE', '', '16458', '-299.16', '']\n",
"['28/08/2024', '', 'Cashback automático cc - Cashback Automático', '', '422198659', '196.33', '']\n",
"['28/08/2024', '', 'Pix - Enviado - 28/08 18:53 Jose Reinaldo Da Silva', '', '82801', '-80.00', '']\n",
"['29/08/2024', '', 'Pix - Enviado - 29/08 13:14 Italo Rodrigues Machado', '', '82901', '-50.00', '']\n",
"['29/08/2024', '', 'Pix - Enviado - 29/08 13:21 Au Au Que Visual Pet Shop', '', '82902', '-100.00', '']\n",
"['30/08/2024', '', 'Remuneração sobre ações', '', '102416500013661', '0.91', '']\n",
"['30/08/2024', '', 'Remuneração sobre ações', '', '102416500013661', '0.01', '']\n",
"['30/08/2024', '', 'Remuneração sobre ações', '', '102416500013661', '1.60', '']\n",
"['30/08/2024', '', 'Remuneração sobre ações', '', '102416500013661', '0.03', '']\n",
"['30/08/2024', '', 'Movimento do Dia', '', '102430800152034', '90.36', '']\n",
"['30/08/2024', '', 'Ações - Proventos - Pag Dividendos BBAS3 30/08/2024', '', '102430800152044', '30.37', '']\n",
"['30/08/2024', '', 'Ações - Proventos - Pag Jur Cap Pro BBAS3 30/08/2024', '', '102430800152044', '53.46', '']\n",
"['30/08/2024', '', 'Ações - Proventos - Pag Rendimento BBAS3 30/08/2024', '', '102430800152044', '1.29', '']\n",
"['30/08/2024', '', 'Pagamento de Boleto - PJBANK PAGAMENTOS S A', '', '83001', '-1351.62', '']\n",
"['02/09/2024', '', 'Pix - Enviado - 31/08 09:31 Francina Noleto Aires', '', '90201', '-90.00', '']\n",
"['02/09/2024', '', 'TED Transf.Eletr.Disponiv - 104 2272 28986008149 MARIA ELIENE DE O', '', '90202', '-1481.73', '']\n",
"['03/09/2024', '', 'Recebimentos Diversos - PRO/TRF PROGRAMA DE ASSISTENCIA AOS', '', '188806', '174.68', '']\n",
"['03/09/2024', '', 'Pix - Enviado - 03/09 09:38 Anizia Maria Pinheiro De A', '', '90301', '-120.00', '']\n",
"['03/09/2024', '', 'Pix - Enviado - 03/09 15:51 Vibra Energia Sa', '', '90302', '-237.99', '']\n",
"['03/09/2024', '', 'Pix - Enviado - 03/09 18:30 Manoel Erivan D Da Silva', '', '90303', '-550.00', '']\n",
"['03/09/2024', '', 'BB RF Ref DI Mega - BB RF Referenciado DI LP Mega', '', '916', '300.76', '']\n",
"['05/09/2024', '', 'Pagamento de Boleto - MONI IMOVEIS LTDA', '', '90501', '-6431.37', '']\n",
"['05/09/2024', '', 'Pix - Enviado - 05/09 12:27 Helen Bruna Nascimento Far', '', '90502', '-800.00', '']\n",
"['05/09/2024', '', 'BB RF Ref DI Mega - BB RF Referenciado DI LP Mega', '', '916', '7231.37', '']\n",
"['06/09/2024', '', 'Ordem Banc 12 Sec Tes Nac - 036585070001-25 SECRETARIA DO T.R.F. D', '', '4660161000000', '3093.52', '']\n",
"['09/09/2024', '', 'Pix - Enviado - 09/09 21:53 Natalia Pinheiro Moreira M', '', '90901', '-20.00', '']\n",
"['10/09/2024', '', 'Pagamento de Boleto - INSPIRA MUDANCA PARTICIPACOES S/A', '', '91001', '-3196.00', '']\n",
"['10/09/2024', '', 'Pix - Enviado - 10/09 10:09 Utb Uniao Transporte Brasi', '', '91002', '-300.00', '']\n",
"['10/09/2024', '', 'BB RF Ref DI Mega - BB RF Referenciado DI LP Mega', '', '916', '422.48', '']\n",
"['11/09/2024', '', 'Pagamento de Boleto - INSPIRA MUDANCA PARTICIPACOES S/A', '', '91101', '-900.00', '']\n",
"['11/09/2024', '', 'BB RF Ref DI Mega', '', '916', '900.00', '']\n",
"['12/09/2024', '', 'S A L D O', '', '0', '0.00', '']\n"
]
}
],
"source": [
"import csv\n",
"\n",
"with open(\"./documents/extrato_ago_24.csv\", newline=\"\", encoding=\"latin\") as csvfile:\n",
" spamreader = csv.reader(csvfile)\n",
" csv_list = list(spamreader)\n",
"\n",
"print(csv_list[1:])\n",
"print(csv_list[1:][0])\n",
"print(csv_list[1:][0][0])\n",
"print(csv_list[1:][0][0].split(sep=\"/\"))\n",
"print(csv_list[1:][0][0].split(sep=\"/\")[0])\n",
"\n",
"for item in csv_list[1:]:\n",
" print(item)"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [],
"source": [
"def build_account_input(file_name):\n",
"\n",
" import csv\n",
" import hashlib\n",
" import re\n",
" from datetime import date, datetime\n",
" from decimal import Decimal\n",
"\n",
" with open(file_name or \"./documents/extrato_ago_24.csv\", newline=\"\", encoding=\"latin\") as csvfile:\n",
" spamreader = csv.reader(csvfile)\n",
" csv_list = list(spamreader)\n",
"\n",
" data_list = csv_list[1:]\n",
"\n",
" insert_bulk = []\n",
"\n",
" install_pattern = r\"(?P<install>Transferência Periódica - \\d{2}\\/\\d{2} .*?(?P<p_nr>\\d{3})\\/(?P<p_tt>\\d{3}))\"\n",
"\n",
" for item in data_list:\n",
" dateList = item[0].split(\"/\")\n",
"\n",
" tTdate = str(date(int(dateList[2]), int(dateList[1]), int(dateList[0])))\n",
" tAccount = 1\n",
" tMemo = item[2]\n",
" tCountry = \"BR\"\n",
" tOutflow = None if Decimal(item[5]) > 0 else str(Decimal(item[5])*-1)\n",
" tInflow = None if Decimal(item[5]) < 0 else str(Decimal(item[5]))\n",
" tOwner = 1\n",
" # Check if it's a periodic PIX transaction\n",
" matches = re.match(install_pattern, item[2])\n",
" if matches:\n",
" tInstallmentNr = matches.group(\"p_nr\")\n",
" tInstallmentTt = matches.group(\"p_tt\")\n",
" else:\n",
" tInstallmentNr = None\n",
" tInstallmentTt = None\n",
" tCreated = str(datetime.now(tz=None))\n",
" tUpdated = None\n",
"\n",
" preHash = str(tTdate) + tMemo + str(tOutflow) + str(tInflow)\n",
" tId = hashlib.sha256(preHash.encode()).hexdigest()\n",
"\n",
" # Remove balance totals if detected\n",
" if item[2].strip() != \"S A L D O\":\n",
" insert_bulk.append(\n",
" (\n",
" tId,\n",
" tTdate,\n",
" tAccount,\n",
" tMemo,\n",
" tCountry,\n",
" tOutflow,\n",
" tInflow,\n",
" tOwner,\n",
" tInstallmentNr,\n",
" tInstallmentTt,\n",
" tCreated,\n",
" tUpdated,\n",
" )\n",
" )\n",
"\n",
" return insert_bulk"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"insert_query = \"INSERT IGNORE INTO default.TRANSACTION (ID, TDATE, ACCOUNT_ID, MEMO, COUNTRY, OUTFLOW, INFLOW, OWNER_ID, INSTALLMENT_NR, INSTALLMENT_TT, CREATED, UPDATED) VALUES ( %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s )\""
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [],
"source": [
"def db_insert(insert_bulk: list[tuple]):\n",
" from mysql.connector import connect, Error\n",
"\n",
" try:\n",
" with connect(\n",
" host=\"localhost\",\n",
" user=\"root\",\n",
" password=\"pleasehashapasswordomg\",\n",
" database=\"default\",\n",
" ) as connection:\n",
" print(\"CONNECTED!\", connection)\n",
" with connection.cursor() as cursor:\n",
" cursor.executemany(insert_query, insert_bulk)\n",
" connection.commit()\n",
" print(\"DONE!\")\n",
" except Error as e:\n",
" print(e)\n",
" finally:\n",
" connection.close()"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [],
"source": [
"def executor():\n",
" import glob\n",
"\n",
" matched_files = glob.glob(\"./documents/extrato*.csv\")\n",
"\n",
" try:\n",
" for file_name in matched_files:\n",
" db_insert(build_account_input(file_name=file_name))\n",
" except:\n",
" print(\"executor(): Error\")\n",
"\n",
" print(\"EXECUTOR COMPLETED.\")"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CONNECTED! <mysql.connector.connection_cext.CMySQLConnection object at 0x000001F75B22A930>\n",
"DONE!\n",
"CONNECTED! <mysql.connector.connection_cext.CMySQLConnection object at 0x000001F75AFE4A70>\n",
"DONE!\n",
"CONNECTED! <mysql.connector.connection_cext.CMySQLConnection object at 0x000001F75B22AB70>\n",
"DONE!\n",
"CONNECTED! <mysql.connector.connection_cext.CMySQLConnection object at 0x000001F75ABFBA70>\n",
"DONE!\n",
"CONNECTED! <mysql.connector.connection_cext.CMySQLConnection object at 0x000001F75ABFAED0>\n",
"DONE!\n",
"CONNECTED! <mysql.connector.connection_cext.CMySQLConnection object at 0x000001F75AB52A50>\n",
"DONE!\n",
"EXECUTOR COMPLETED.\n"
]
}
],
"source": [
"executor()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.5"
}
},
"nbformat": 4,
"nbformat_minor": 2
}