diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..7a8816f --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,4 @@ +{ + "files.autoGuessEncoding": false, + "files.encoding": "iso88591" + } \ No newline at end of file diff --git a/clickhouse.sql b/clickhouse.sql new file mode 100644 index 0000000..086aac2 --- /dev/null +++ b/clickhouse.sql @@ -0,0 +1,16 @@ +CREATE TABLE TRANSACTION ( + ID char(64) NOT NULL, + TDATE date NOT NULL, + ACCOUNT_ID integer NOT NULL, + MEMO varchar(64) NOT NULL, + COUNTRY char(2), + OUTFLOW decimal(20,2), + INFLOW decimal(12,2), + OWNER_ID integer, + INSTALLMENT_NR integer, + INSTALLMENT_TT integer, + CREATED datetime NOT NULL, + UPDATED datetime +) +ENGINE = MergeTree +PRIMARY KEY (ID) \ No newline at end of file diff --git a/nb_account_etl.ipynb b/nb_account_etl.ipynb index 783b79d..30e011e 100644 --- a/nb_account_etl.ipynb +++ b/nb_account_etl.ipynb @@ -2,179 +2,43 @@ "cells": [ { "cell_type": "code", - "execution_count": 15, + "execution_count": 2, "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" - ] - } - ], + "outputs": [], "source": [ - "import csv\n", + "# 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))" + "# with open(\"./documents/extrato.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, + "execution_count": 3, "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" - ] - } - ], + "outputs": [], "source": [ - "import csv\n", + "# 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", + "# with open(\"./documents/extrato.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", + "# 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)" + "# for item in csv_list[1:]:\n", + "# print(item)" ] }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -186,7 +50,7 @@ " 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", + " with open(file_name or \"./documents/extrato.csv\", newline=\"\", encoding=\"latin\") as csvfile:\n", " spamreader = csv.reader(csvfile)\n", " csv_list = list(spamreader)\n", "\n", @@ -244,7 +108,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ @@ -253,7 +117,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -262,7 +126,7 @@ "\n", " try:\n", " with connect(\n", - " host=\"localhost\",\n", + " host=\"127.0.0.1\",\n", " user=\"root\",\n", " password=\"pleasehashapasswordomg\",\n", " database=\"default\",\n", @@ -280,7 +144,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ @@ -300,25 +164,14 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "CONNECTED! \n", - "DONE!\n", - "CONNECTED! \n", - "DONE!\n", - "CONNECTED! \n", - "DONE!\n", - "CONNECTED! \n", - "DONE!\n", - "CONNECTED! \n", - "DONE!\n", - "CONNECTED! \n", - "DONE!\n", + "executor(): Error\n", "EXECUTOR COMPLETED.\n" ] } @@ -330,7 +183,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "base", "language": "python", "name": "python3" }, @@ -344,7 +197,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.5" + "version": "3.12.7" } }, "nbformat": 4, diff --git a/nb_credit_card_etl.ipynb b/nb_credit_card_etl.ipynb index ee9b867..8f010ea 100644 --- a/nb_credit_card_etl.ipynb +++ b/nb_credit_card_etl.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 18, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -11,7 +11,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -20,7 +20,7 @@ "1" ] }, - "execution_count": 19, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -34,7 +34,7 @@ "\n", " try:\n", " with connect(\n", - " host=\"localhost\",\n", + " host=\"127.0.0.1\",\n", " user=\"root\",\n", " password=\"pleasehashapasswordomg\",\n", " database=\"default\",\n", @@ -62,23 +62,20 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ - "# OUROCARD_VISA_INFINITE-Próxima_Fatura.txt\n", - "# OUROCARD_VISA_INFINITE-Ago_24.txt\n", "def create_lists(file_name):\n", " import re\n", "\n", " # Open the text file\n", - " # with open(\"OUROCARD_VISA_INFINITE-Próxima_Fatura.txt\", \"r\", encoding=\"latin\") as file:\n", - " with open(file_name or \"OUROCARD_VISA_INFINITE-Ago_24.txt\", \"r\", encoding=\"latin\") as file:\n", + " with open(file_name, \"r\", encoding=\"latin\") as file:\n", " # Read the contents of the file\n", " contents = file.readlines()\n", "\n", " # Define the regex patterns\n", - " owner_pattern = r\"\\d\\s?-\\s?([A-Z]+)\"\n", + " owner_pattern = r\"\\s\\d\\s?-\\s?([A-Z]+)\"\n", " line_pattern = r\"\\d{2}\\.\\d{2}\\.\\d{4}.{23}.{14}.{2}\\s*-?\\d*\\.?\\d+,\\d{2}\\s*\\d+,\\d{2}\"\n", " payment_pattern = (r\"\\d{2}\\.\\d{2}\\.\\d{4}PGTO.*200211(\\s*-?\\d*\\.?\\d+,\\d{2})(\\s*\\d+,\\d{2})\")\n", " partial_invoice_line_pattern = r\"\\d{2}\\/\\d{2}.{27}.{16}.{2}\\s+\\s*-?\\d*\\.?\\d+,\\d{2}\\s*\\d+,\\d{2}\"\n", @@ -99,6 +96,7 @@ " found_owners = re.findall(owner_pattern, line)\n", " if found_owners:\n", " for owner_name in found_owners:\n", + " print(owner_name)\n", " list_name = f\"list_{owner_name.lower()}\"\n", " owner_list.append(list_name)\n", " result[list_name] = {}\n", @@ -139,7 +137,45 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['\\n', '\\n', '\\n', '\\n', '\\n', '\\n', '\\n', '\\n', '\\n', '\\n', '\\n', '\\n', '\\n', '\\n', '\\n', '\\n', '\\n', '\\n', '\\n', ' SISBB - Sistema de Informações Banco do Brasil \\n', '13/11/2024 Auto-Atendimento 08:44:59\\n', ' Fatura do Cartão de Crédito \\n', ' \\n', ' \\n', 'Cliente : DANIEL O CARVALHO \\n', 'Nr.Cartão : 4984.****.****.5727 \\n', 'Modalidade : OUROCARD VISA INFINITE \\n', ' \\n', 'Vencimento : 25.04.2024 \\n', 'Total da fatura : R$ 18.362,96 \\n', 'Pagamento mínimo: R$ 2.754,44 \\n', ' \\n', 'DEMONSTRATIVO\\n', '--------------------------------------------------------------------------------\\n', 'Data Transações País Valor R$ Valor US$\\n', '--------------------------------------------------------------------------------\\n', ' \\n', ' \\n', ' 1 - DANIEL O CARVALHO \\n', ' \\n', ' SALDO FATURA ANTERIOR BR 19.249,92 0,00\\n', ' \\n', ' \\n', ' Pagamentos/Créditos \\n', '25.03.2024PGTO DEBITO CONTA 8611 000006025 200211 -19.249,92 0,00\\n', ' \\n', ' \\n', ' Lazer \\n', '14.03.2024EBN*XSOLLA CURITIBA BR 27,09 0,00\\n', '06.04.2024PAG*MmCultura BRASILIA BR 26,00 0,00\\n', ' \\n', ' \\n', ' Restaurantes \\n', '16.03.2024IFD*MARIANA PERDOMO CONBRASILIA BR 80,79 0,00\\n', '16.03.2024IFD*iFood OSASCO BR 5,00 0,00\\n', '17.03.2024IFD*TT BRASILIA COMERCIBRASILIA BR 134,00 0,00\\n', '18.03.2024IFD*IFOOD.COM AGENCIA DOsasco BR 12,90 0,00\\n', '19.03.2024CASA ALMERIA BRASILIA BR 157,92 0,00\\n', '19.03.2024CASA ALMERIA BRASILIA BR 105,00 0,00\\n', '19.03.2024IFD*TAIKAN FAST SUSHI LBRASILIA BR 149,90 0,00\\n', '19.03.2024IFD*iFood OSASCO BR 10,00 0,00\\n', '28.03.2024FOGO E BRASA STEAK HOUSPIRENOPOLIS BR 238,00 0,00\\n', '03.04.2024ifood *IFD*RC MELO C Vila Yara Osa BR 226,51 0,00\\n', '04.04.2024IFD*TAIKAN FAST SUSHI LBRASILIA BR 149,90 0,00\\n', '06.04.2024BAR E RESTAURANTE TIA BRASILIA BR 220,00 0,00\\n', '06.04.2024BAR E RESTAURANTE TIA BRASILIA BR 4,00 0,00\\n', '06.04.2024BAR E RESTAURANTE TIA BRASILIA BR 16,00 0,00\\n', '06.04.2024BAR E RESTAURANTE TIA BRASILIA BR 12,00 0,00\\n', '06.04.2024IFD*ME COMERCIO DE ALIMBRASILIA BR 66,90 0,00\\n', '07.04.2024IFD*UPTOWN BURGERS E SHBRASILIA BR 76,70 0,00\\n', ' \\n', ' \\n', ' Saúde \\n', '20.03.2024DROGASIL 2067 BRASILIA BR 516,80 0,00\\n', '20.03.2024REDE BRASIL DRUGSTORE BRASILIA BR 512,73 0,00\\n', '20.03.2024PAGUE MENOS 1225 BRASILIA BR 568,23 0,00\\n', '05.04.2024DROGARIA SAO PAULO BRASILIA BR 248,37 0,00\\n', ' \\n', ' \\n', ' Serviços \\n', '15.03.2024VELOE BARUERI BR 22,26 0,00\\n', '18.03.2024NETFLIX.COM SAO PAULO BR 39,90 0,00\\n', '19.03.2024PAG*FolhaDeSPaulo SAO PAULO BR 29,90 0,00\\n', '23.03.2024PAG*Zig SAO PAULO BR 376,01 0,00\\n', '27.03.2024Gympass GympassBr Sao Paulo BR 399,90 0,00\\n', '29.03.2024MP *MELIMAIS OSASCO BR 17,99 0,00\\n', '01.04.2024MERCADOLIVRE*AGUSHOPCOMOSASCO BR 39,90 0,00\\n', '01.04.2024MERCADOLIVRE*GIGATUDOBYOSASCO BR 418,41 0,00\\n', '02.04.2024MERCADOLIVRE*BRASIL OSASCO BR 58,57 0,00\\n', '03.04.2024MERCADOLIVRE*AGUSHOPCOMOSASCO BR 31,90 0,00\\n', '04.04.2024IFD*Gleidson Renato LeiOsasco BR 10,00 0,00\\n', '04.04.2024APPLE.COM/BILL SAO PAULO BR 54,90 0,00\\n', '05.04.2024MERCADOLIVRE*WIXACESSOROSASCO BR 58,57 0,00\\n', '04.04.2024IFD*LOG CITY ESPRESS Osasco BR 5,00 0,00\\n', '05.04.2024Gympass GympassBr Sao Paulo BR 399,90 0,00\\n', '05.04.2024MR JOHN BARBEARIA LTDA BRASILIA BR 60,00 0,00\\n', '09.04.2024MERCADOLIVRE*SABORESDAMOSASCO BR 109,90 0,00\\n', ' \\n', ' \\n', ' Supermercados \\n', '24.03.2024PAG*GaleteriaSerrana BRASILIA BR 164,78 0,00\\n', ' \\n', ' \\n', ' Transporte \\n', '18.03.2024UBER* TRIP OSASCO BR 13,98 0,00\\n', '18.03.2024UBER *TRIP HELP.UBER.COSAO PAULO BR 1,60 0,00\\n', '18.03.2024UBER * PENDING SAO PAULO BR 13,92 0,00\\n', '18.03.2024UBER *TRIP HELP.UBER.COSAO PAULO BR 5,00 0,00\\n', '19.03.2024UBER* TRIP OSASCO BR 11,83 0,00\\n', '21.03.2024UBER * PENDING SAO PAULO BR 10,98 0,00\\n', '23.03.2024UBER * PENDING SAO PAULO BR 10,96 0,00\\n', '25.03.2024UBER* TRIP OSASCO BR 14,55 0,00\\n', '25.03.2024UBER* TRIP OSASCO BR 5,00 0,00\\n', '25.03.2024UBER *TRIP HELP.UBER.COSAO PAULO BR 14,80 0,00\\n', '25.03.2024UBER * PENDING SAO PAULO BR 13,92 0,00\\n', '25.03.2024UBER *TRIP HELP.UBER.COSAO PAULO BR 3,41 0,00\\n', '28.03.2024UBER* TRIP OSASCO BR 14,31 0,00\\n', '28.03.2024UBER* TRIP OSASCO BR 1,44 0,00\\n', '28.03.2024UBER* TRIP OSASCO BR 14,08 0,00\\n', '28.03.2024UBER* TRIP OSASCO BR 3,00 0,00\\n', '02.04.2024UBER * PENDING SAO PAULO BR 19,94 0,00\\n', '02.04.2024UBER * PENDING SAO PAULO BR 39,93 0,00\\n', '04.04.2024UBER * PENDING SAO PAULO BR 10,93 0,00\\n', '06.04.2024UBER * PENDING SAO PAULO BR 39,94 0,00\\n', '09.04.2024UBER * PENDING SAO PAULO BR 10,97 0,00\\n', ' \\n', ' \\n', ' Vestuário \\n', '27.03.2024CASA DO CHOCOLATE BRASILIA BR 283,89 0,00\\n', ' \\n', ' \\n', ' Outros lançamentos \\n', '13.03.2024DL*GOOGLE YouTub SAO PAULO BR 41,90 0,00\\n', '18.03.2024Amazon Music SAO PAULO BR 21,90 0,00\\n', '14.03.2024STEAM PURCHASE SEATTLE DE 24,00 0,00\\n', '19.03.2024IOF - COMPRA NO EXTERIOR 1,05 0,00\\n', '15.03.2024STEAM PURCHASE SEATTLE DE 47,88 0,00\\n', '19.03.2024IOF - COMPRA NO EXTERIOR 2,09 0,00\\n', '04.04.2024STEAM PURCHASE SEATTLE DE 117,98 0,00\\n', '08.04.2024IOF - COMPRA NO EXTERIOR 1,29 0,00\\n', ' \\n', ' \\n', ' Compras parceladas \\n', '15.01.2024MP*MUNDODOSCO PARC 03/10 SAO PAULO BR 159,90 0,00\\n', '17.10.2023BIANCHINI AUT PARC 06/10 BRASILIA BR 535,00 0,00\\n', '22.03.2024SNOW PARC 01/02 BELO HORIZONBR 2.466,69 0,00\\n', '26.03.2024QUEST 01/02-SNOW BELO BR -2.466,69 0,00\\n', '22.03.2024SNOW PARC 01/10 BELO HORIZONBR 493,41 0,00\\n', '26.03.2024QUEST 01/10-SNOW BELO BR -493,41 0,00\\n', ' \\n', ' \\n', ' SubTotal 7.373,90 0,00\\n', ' \\n', ' \\n', ' 4 - IZABELY C NORMANDO \\n', ' \\n', ' \\n', ' Restaurantes \\n', '18.03.2024FEDERAL GOURMET BRASILIA BR 22,56 0,00\\n', '18.03.2024FEDERAL GOURMET BRASILIA BR 18,85 0,00\\n', '23.03.2024COCO BAMBU IGUATEMI BR BRASILIA BR 250,23 0,00\\n', '30.03.2024PAG*ColoreGelateria PIRENOPOLIS BR 44,46 0,00\\n', '01.04.2024FEDERAL GOUR BRASILIA BR 18,93 0,00\\n', '01.04.2024FEDERAL GOUR BRASILIA BR 120,00 0,00\\n', '06.04.2024BAR E RESTAURANTE TIA BRASILIA BR 27,00 0,00\\n', '06.04.2024BAR E RESTAURANTE TIA BRASILIA BR 16,00 0,00\\n', '07.04.2024ifood *IFD*SN COMERC Vila Yara Osa BR 152,00 0,00\\n', ' \\n', ' \\n', ' Saúde \\n', '18.03.2024LISTO*CLINICAESTETICARNBRASILIA BR 4.300,00 0,00\\n', '28.03.2024DROGASIL 2067 BRASILIA BR 114,34 0,00\\n', '08.04.2024DROGASIL 1383 BRASILIA BR 92,18 0,00\\n', ' \\n', ' \\n', ' Serviços \\n', '13.03.2024CODA OIAPOQUE BR 110,83 0,00\\n', '14.03.2024VINHOS E CO MACAPA BR 177,92 0,00\\n', '15.03.2024RUSTIC ALIMENTOS LTDA MACAPA BR 71,50 0,00\\n', '19.03.2024PICPAY UNICOMPRASINT Brasilia BR 353,00 0,00\\n', '24.03.2024DM *SHEINCOM MIDVIEW CITY BR 162,93 0,00\\n', '26.03.2024MP*DONAFUTRICA OSASCO BR 824,50 0,00\\n', '27.03.2024CAFES PLURAIS TORRADOS BRASILIA BR 279,90 0,00\\n', '30.03.2024PAG*WeniaFerreiraDo PIRENOPOLIS BR 94,80 0,00\\n', '31.03.2024RR PIRENOPOLIS BR 240,08 0,00\\n', '10.04.2024IFD*F C BOLOS DO FLAVIOBRASILIA BR 90,00 0,00\\n', ' \\n', ' \\n', ' Supermercados \\n', '07.04.2024PAG*GaleteriaSerrana BRASILIA BR 174,10 0,00\\n', ' \\n', ' \\n', ' Vestuário \\n', '24.03.2024DL*SHEINCOM SAO PAULO BR 270,94 0,00\\n', '30.03.2024MARIA PIRENOPOLIS BR 120,00 0,00\\n', '08.04.2024TRACKEFIELD BRASILIA BR 120,10 0,00\\n', ' \\n', ' \\n', ' Viagens \\n', '15.03.2024BDH HOTELARIA MACAPA BR 72,00 0,00\\n', ' \\n', ' \\n', ' Outros lançamentos \\n', '14.03.2024LATAM SITE SAO PAULO BR 93,00 0,00\\n', ' \\n', ' \\n', ' Compras parceladas \\n', '15.01.2024LDM PARC 03/04 BRASILIA BR 1.100,00 0,00\\n', '17.01.2024BRASILIA EMPR PARC 03/12 BRASILIA BR 599,00 0,00\\n', '26.01.2024VISAO INSTITU PARC 03/05 BRASILIA BR 200,00 0,00\\n', '26.03.2024BIOEXATA FARM PARC 01/03 BRASILIA BR 583,01 0,00\\n', '07.01.2024PG *B4A GLAMB PARC 04/12 SAO PAULO BR 74,90 0,00\\n', ' \\n', ' \\n', ' SubTotal 10.989,06 0,00\\n', ' \\n', ' \\n', ' Total 18.362,96 0,00\\n', ' \\n', ' \\n', 'RESUMO EM REAL\\n', '--------------------------------------------------------------------------------\\n', ' Saldo Pagamento/ Compras/ Total Lim. extra Saldo \\n', ' Anterior Créditos Débitos R$ utilizado Atual - R$ \\n', '--------------------------------------------------------------------------------\\n', ' 19.249,92 - -22.210,02 + 21.323,06 = 18.362,96 - 0,00 = 18.362,96\\n', '--------------------------------------------------------------------------------\\n', ' \\n', 'RESUMO EM DÓLAR\\n', '--------------------------------------------------------------------------------\\n', ' Compras/ Outros Saldo Taxa de Saldo \\n', ' Saques débitos Créditos Atual U$ conversão convertido \\n', '--------------------------------------------------------------------------------\\n', ' 0,00 - 0,00 + 0,00 = 0,00 X 0,0000 = 0,00\\n', '--------------------------------------------------------------------------------\\n', ' \\n', ' \\n', 'LIMITES - R$\\n', '--------------------------------------------------------------------------------\\n', 'Total para transações à vista : 70.255,00\\n', 'Saques : 70.255,00\\n', '(Incluido no total transação à vista)\\n', 'Total para transações parceladas : 0,00\\n', 'Crediário : 249.337,00\\n', ' \\n', ' \\n', 'ENCARGOS FINANCEIROS - R$ 1 2\\n', '--------------------------------------------------------------------------------\\n', 'Crédito Rotativo : 9,94 14,16\\n', 'Crédito Parcelado: 3,00 10,21\\n', 'Permanência : 1,00 1,00\\n', 'Multa : 2,00 2,00\\n', '1. Para o periodo %am \\n', '2. Máximo próximo periodo %am \\n', ' \\n', ' \\n', 'PONTO PRA VOCÊ/LIVELO\\n', '--------------------------------------------------------------------------------\\n', ' Pontuação acumulada Até 10.04.2024 : 1.331\\n', '--------------------------------------------------------------------------------\\n', '\\n', '\\n', '\\n', '\\n', '\\n', '\\n', '\\n', '\\n', '\\n', '\\n']\n" + ] + }, + { + "ename": "TypeError", + "evalue": "expected str, bytes or os.PathLike object, not TextIOWrapper", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[1;32mIn[6], line 9\u001b[0m\n\u001b[0;32m 7\u001b[0m contents \u001b[38;5;241m=\u001b[39m file\u001b[38;5;241m.\u001b[39mreadlines()\n\u001b[0;32m 8\u001b[0m \u001b[38;5;28mprint\u001b[39m(contents)\n\u001b[1;32m----> 9\u001b[0m \u001b[43mcreate_lists\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfile\u001b[49m\u001b[43m)\u001b[49m\n", + "Cell \u001b[1;32mIn[5], line 5\u001b[0m, in \u001b[0;36mcreate_lists\u001b[1;34m(file_name)\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mre\u001b[39;00m\n\u001b[0;32m 4\u001b[0m \u001b[38;5;66;03m# Open the text file\u001b[39;00m\n\u001b[1;32m----> 5\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28;43mopen\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mfile_name\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mr\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mencoding\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mlatin\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m \u001b[38;5;28;01mas\u001b[39;00m file:\n\u001b[0;32m 6\u001b[0m \u001b[38;5;66;03m# Read the contents of the file\u001b[39;00m\n\u001b[0;32m 7\u001b[0m contents \u001b[38;5;241m=\u001b[39m file\u001b[38;5;241m.\u001b[39mreadlines()\n\u001b[0;32m 9\u001b[0m \u001b[38;5;66;03m# Define the regex patterns\u001b[39;00m\n", + "File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python312\\site-packages\\IPython\\core\\interactiveshell.py:324\u001b[0m, in \u001b[0;36m_modified_open\u001b[1;34m(file, *args, **kwargs)\u001b[0m\n\u001b[0;32m 317\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m file \u001b[38;5;129;01min\u001b[39;00m {\u001b[38;5;241m0\u001b[39m, \u001b[38;5;241m1\u001b[39m, \u001b[38;5;241m2\u001b[39m}:\n\u001b[0;32m 318\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[0;32m 319\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mIPython won\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mt let you open fd=\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mfile\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m by default \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 320\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mas it is likely to crash IPython. If you know what you are doing, \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 321\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124myou can use builtins\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m open.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 322\u001b[0m )\n\u001b[1;32m--> 324\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mio_open\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfile\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "\u001b[1;31mTypeError\u001b[0m: expected str, bytes or os.PathLike object, not TextIOWrapper" + ] + } + ], + "source": [ + "# import os\n", + "# file = os.path.join(\"E:\\\\forge\\\\python\\\\robopato\\\\documents\", \"OUROCARD_VISA_INFINITE-Mar_24.txt\")\n", + "file = \"E:\\\\forge\\\\python\\\\robopato\\\\documents\\\\OUROCARD_VISA_INFINITE-Abr_24.txt\"\n", + "# Open the text file\n", + "with open(file, \"r\", encoding=\"latin\") as file:\n", + " # Read the contents of the file\n", + " contents = file.readlines()\n", + " print(contents)\n", + "create_lists(file)" + ] + }, + { + "cell_type": "code", + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -234,7 +270,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -243,7 +279,7 @@ "\n", " try:\n", " with connect(\n", - " host=\"localhost\",\n", + " host=\"127.0.0.1\",\n", " user=\"root\",\n", " password=\"pleasehashapasswordomg\",\n", " database=\"default\",\n", @@ -261,7 +297,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -270,6 +306,7 @@ " import glob\n", "\n", " matched_files = glob.glob(\"./documents/OUROCARD*.txt\")\n", + " # matched_files = glob.glob(\"./documents/OUROCARD_VISA_INFINITE-Mar_24.txt\")\n", "\n", " try:\n", " for file_name in matched_files:\n", @@ -282,25 +319,15 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "CONNECTED! \n", - "DONE!\n", - "CONNECTED! \n", - "DONE!\n", - "CONNECTED! \n", - "DONE!\n", - "CONNECTED! \n", - "DONE!\n", - "CONNECTED! \n", - "DONE!\n", - "CONNECTED! \n", - "DONE!\n", + "Error during Transaction Lists creation\n", + "executor(): Error\n", "EXECUTOR COMPLETED.\n" ] } @@ -312,7 +339,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "base", "language": "python", "name": "python3" }, @@ -326,7 +353,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.5" + "version": "3.12.7" } }, "nbformat": 4, diff --git a/nb_lab.ipynb b/nb_lab.ipynb index d1972cc..37ee6f3 100644 --- a/nb_lab.ipynb +++ b/nb_lab.ipynb @@ -702,6 +702,123 @@ "\n", "print(files_only)" ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CONNECTED! \n", + "DONE!\n" + ] + } + ], + "source": [ + "import csv\n", + "from datetime import datetime\n", + "\n", + "# Read the CSV file and extract the \"CATEGORY\" column\n", + "categories = set()\n", + "with open('PAYEE_FILTER.csv', newline='', encoding='utf-8') as csvfile:\n", + " reader = csv.DictReader(csvfile)\n", + " for row in reader:\n", + " category = row['CATEGORY']\n", + " if category: # Only add non-empty categories\n", + " categories.add(category)\n", + "\n", + "# Create a list of tuples with the unique categories and current datetime as a string\n", + "category_tuples = [(category, str(datetime.now(tz=None))) for category in categories]\n", + "\n", + "insert_query = \"INSERT IGNORE INTO default.CATEGORY (NAME, CREATED) VALUES (%s, %s)\"\n", + "\n", + "\n", + "from mysql.connector import connect, Error\n", + "\n", + "try:\n", + " with connect(\n", + " host=\"127.0.0.1\",\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, category_tuples)\n", + " connection.commit()\n", + " print(\"DONE!\")\n", + "except Error as e:\n", + " print(e)\n", + "finally:\n", + " connection.close()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[('Compras', '2024-11-08 12:28:12.251054'), ('Operacional', '2024-11-08 12:28:12.251054'), ('Renda', '2024-11-08 12:28:12.251054'), ('Transporte', '2024-11-08 12:28:12.251054'), ('Cora', '2024-11-08 12:28:12.251054'), ('Impostos', '2024-11-08 12:28:12.251054'), ('Alimentação', '2024-11-08 12:28:12.251054')]\n" + ] + } + ], + "source": [ + "import csv\n", + "from datetime import datetime\n", + "\n", + "# Read the CSV file and extract the \"CATEGORY\" column\n", + "categories = set()\n", + "with open('PAYEE_FILTER.csv', newline='', encoding='utf-8') as csvfile:\n", + " reader = csv.DictReader(csvfile)\n", + " for row in reader:\n", + " category = row['CATEGORY']\n", + " if category: # Only add non-empty categories\n", + " categories.add(category)\n", + "\n", + "# Create a list of tuples with the unique categories and current datetime as a string\n", + "category_tuples = [(category, str(datetime.now(tz=None))) for category in categories]\n", + "\n", + "print(category_tuples)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[('Compras Digitais', '2024-11-08 15:27:36.418568'), ('Salários', '2024-11-08 15:27:36.418568'), ('Educação', '2024-11-08 15:27:36.418568'), ('Aplicativos', '2024-11-08 15:27:36.418568'), ('Restaurantes', '2024-11-08 15:27:36.418568'), ('Celular', '2024-11-08 15:27:36.418568'), ('PLR', '2024-11-08 15:27:36.418568'), ('Internet', '2024-11-08 15:27:36.418568'), ('Compras Físicas', '2024-11-08 15:27:36.418568'), ('Cashbacks', '2024-11-08 15:27:36.418568'), ('IOF', '2024-11-08 15:27:36.418568')]\n" + ] + } + ], + "source": [ + "import csv\n", + "from datetime import datetime\n", + "\n", + "# Read the CSV file and extract the \"SUBCATEGORY\" column\n", + "subcategories = set()\n", + "with open('PAYEE_FILTER.csv', newline='', encoding='utf-8') as csvfile:\n", + " reader = csv.DictReader(csvfile)\n", + " for row in reader:\n", + " subcategory = row['SUBCATEGORY']\n", + " if subcategory: # Only add non-empty categories\n", + " subcategories.add(subcategory)\n", + "\n", + "# Create a list of tuples with the unique categories and current datetime as a string\n", + "subcategory_tuples = [(subcategory, str(datetime.now(tz=None))) for subcategory in subcategories]\n", + "\n", + "print(subcategory_tuples)" + ] } ], "metadata": { @@ -720,7 +837,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.3" + "version": "3.12.5" } }, "nbformat": 4, diff --git a/queries.sql b/queries.sql index 9079075..be6c449 100644 --- a/queries.sql +++ b/queries.sql @@ -2,4 +2,6 @@ SELECT NOW(); TRUNCATE TABLE `default`.`TRANSACTION`; -UPDATE `TRANSACTION` SET MEMO = TRIM(MEMO) \ No newline at end of file +UPDATE `TRANSACTION` SET MEMO = TRIM(MEMO) + +ALTER TABLE `default`.SUBCATEGORY MODIFY COLUMN UPDATED datetime ON UPDATE CURRENT_TIMESTAMP NULL; \ No newline at end of file diff --git a/robopato.code-workspace b/robopato.code-workspace new file mode 100644 index 0000000..876a149 --- /dev/null +++ b/robopato.code-workspace @@ -0,0 +1,8 @@ +{ + "folders": [ + { + "path": "." + } + ], + "settings": {} +} \ No newline at end of file