diff --git a/nb_account_etl.ipynb b/nb_account_etl.ipynb index 335b8ef..fbe162b 100644 --- a/nb_account_etl.ipynb +++ b/nb_account_etl.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 10, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -11,7 +11,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ @@ -20,10 +20,11 @@ " import csv\n", " import hashlib\n", " import re\n", + " import builtins\n", " from datetime import date, datetime\n", " from decimal import Decimal\n", "\n", - " with open(file_name or \"./documents/extrato.csv\", newline=\"\", encoding=\"latin\") as csvfile:\n", + " with builtins.open(file_name or \"./documents/extrato.csv\", newline=\"\", encoding=\"latin\") as csvfile:\n", " spamreader = csv.reader(csvfile)\n", " csv_list = list(spamreader)\n", "\n", @@ -83,17 +84,17 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "# Test\n", - "# build_account_input(\"./documents/extrato-30d.csv\")" + "# build_account_input(\"\")" ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ @@ -120,17 +121,17 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "# Test\n", - "# db_insert(build_account_input(\"./documents/extrato-30d.csv\"))" + "# db_insert(build_account_input(\"\"))" ] }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 16, "metadata": {}, "outputs": [], "source": [ @@ -150,7 +151,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 17, "metadata": {}, "outputs": [ { @@ -158,43 +159,64 @@ "output_type": "stream", "text": [ "DONE\n", - "CONNECTED! \n", + "CONNECTED! \n", + "DONE!\n", + "DONE\n", + "CONNECTED! \n", + "DONE!\n", + "DONE\n", + "CONNECTED! \n", + "DONE!\n", + "DONE\n", + "CONNECTED! \n", + "DONE!\n", + "DONE\n", + "CONNECTED! \n", + "DONE!\n", + "DONE\n", + "CONNECTED! \n", + "DONE!\n", + "DONE\n", + "CONNECTED! \n", + "DONE!\n", + "DONE\n", + "CONNECTED! \n", "DONE!\n", "DONE\n", - "CONNECTED! \n", + "CONNECTED! \n", "DONE!\n", "DONE\n", - "CONNECTED! \n", + "CONNECTED! \n", "DONE!\n", "DONE\n", - "CONNECTED! \n", + "CONNECTED! \n", "DONE!\n", "DONE\n", - "CONNECTED! \n", + "CONNECTED! \n", "DONE!\n", "DONE\n", - "CONNECTED! \n", + "CONNECTED! \n", "DONE!\n", "DONE\n", - "CONNECTED! \n", + "CONNECTED! \n", "DONE!\n", "DONE\n", - "CONNECTED! \n", + "CONNECTED! \n", "DONE!\n", "DONE\n", - "CONNECTED! \n", + "CONNECTED! \n", "DONE!\n", "DONE\n", - "CONNECTED! \n", + "CONNECTED! \n", "DONE!\n", "DONE\n", - "CONNECTED! \n", + "CONNECTED! \n", "DONE!\n", "DONE\n", - "CONNECTED! \n", + "CONNECTED! \n", "DONE!\n", "DONE\n", - "CONNECTED! \n", + "CONNECTED! \n", "DONE!\n", "EXECUTOR COMPLETED.\n" ] @@ -207,7 +229,7 @@ ], "metadata": { "kernelspec": { - "display_name": "base", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -221,7 +243,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.7" + "version": "3.14.0" } }, "nbformat": 4, diff --git a/nb_credit_card_etl.ipynb b/nb_credit_card_etl.ipynb index 547c018..1db7b99 100644 --- a/nb_credit_card_etl.ipynb +++ b/nb_credit_card_etl.ipynb @@ -2,25 +2,16 @@ "cells": [ { "cell_type": "code", - "execution_count": 14, + "execution_count": 1, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "DONE\n" - ] - } - ], + "outputs": [], "source": [ - "insert_query = \"INSERT IGNORE INTO default.TRANSACTION (ID, TDATE, ACCOUNT_ID, MEMO, COUNTRY, OUTFLOW, INFLOW, OWNER_ID, INSTALLMENT_NR, INSTALLMENT_TT, BILL, CREATED, UPDATED) VALUES ( %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s );\"\n", - "print(\"DONE\")" + "insert_query = \"INSERT IGNORE INTO default.TRANSACTION (ID, TDATE, ACCOUNT_ID, MEMO, COUNTRY, OUTFLOW, INFLOW, OWNER_ID, INSTALLMENT_NR, INSTALLMENT_TT, BILL, CREATED, UPDATED) VALUES ( %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s );\"" ] }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -58,18 +49,17 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# Tests\n", - "# find_owner(\"daniel\")[0]\n", - "# find_owner(\"izabely\")[0]" + "# find_owner(\"daniel\")[0]" ] }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -84,8 +74,12 @@ " # Define the regex patterns\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", + " payment_pattern = (\n", + " r\"\\d{2}\\.\\d{2}\\.\\d{4}PGTO.*200211(\\s*-?\\d*\\.?\\d+,\\d{2})(\\s*\\d+,\\d{2})\"\n", + " )\n", + " partial_invoice_line_pattern = (\n", + " r\"\\d{2}\\/\\d{2}.{27}.{16}.{2}\\s+\\s*-?\\d*\\.?\\d+,\\d{2}\\s*\\d+,\\d{2}\"\n", + " )\n", "\n", " # Lists\n", " current_list = None\n", @@ -102,7 +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", + " print(owner_name)\n", " list_name = f\"list_{owner_name.lower()}\"\n", " owner_list.append(list_name)\n", " result[list_name] = {}\n", @@ -130,13 +124,15 @@ " else:\n", " if re.match(payment_pattern, line):\n", " result[current_list][\"tlist\"].append(line)\n", - " elif re.match(line_pattern, line) or re.match(partial_invoice_line_pattern, line):\n", + " elif re.match(line_pattern, line) or re.match(\n", + " partial_invoice_line_pattern, line\n", + " ):\n", " result[current_list][\"tlist\"].append(line)\n", "\n", - "\n", " # Check file pattern\n", " if current_list:\n", - " sample = result[current_list][\"tlist\"][0]\n", + " sample = result[current_list][\"tlist\"][1]\n", + " print(\"sample: \" + sample)\n", " if re.search(line_pattern, sample):\n", " isPartial = False\n", "\n", @@ -150,17 +146,17 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# Test\n", - "# create_lists(\"./documents/OUROCARD_VISA_INFINITE-Abr_24.txt\", \"Próxima Fatura\")" + "# create_lists(\"./documents/OUROCARD_VISA_INFINITE-Mar_26.txt\", \"Mar-2026\")" ] }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -198,7 +194,13 @@ " tMemo = matches.group(\"memo\")\n", " tCountry = None\n", " tOutflow = \"0.00\"\n", - " tInflow = matches.group(\"inflow\").strip().replace(\".\", \"\").replace(\",\", \".\").replace(\"-\", \"\")\n", + " tInflow = (\n", + " matches.group(\"inflow\")\n", + " .strip()\n", + " .replace(\".\", \"\")\n", + " .replace(\",\", \".\")\n", + " .replace(\"-\", \"\")\n", + " )\n", " tOwner = input_dict[key][\"owner_id\"]\n", " tInstallmentNr = None\n", " tInstallmentTt = None\n", @@ -210,21 +212,37 @@ " tTdate = str(\n", " date(\n", " # partial files will not have the year data on transactions\n", - " int(matches.group(\"year\")) if pattern_to_use == line_group_pattern else datetime.now().year,\n", + " (\n", + " int(matches.group(\"year\"))\n", + " if pattern_to_use == line_group_pattern\n", + " else datetime.now().year\n", + " ),\n", " int(matches.group(\"month\")),\n", " int(matches.group(\"day\")),\n", " )\n", " )\n", - " \n", + "\n", " tAccount = account\n", "\n", - " tMemo = matches.group(\"p_memo\") if matches.group(\"p_memo\") else matches.group(\"memo\")\n", - " tInstallmentNr = int(matches.group(\"p_nr\")) if matches.group(\"p_nr\") else None\n", - " tInstallmentTt = int(matches.group(\"p_tt\")) if matches.group(\"p_tt\") else None\n", + " tMemo = (\n", + " matches.group(\"p_memo\")\n", + " if matches.group(\"p_memo\")\n", + " else matches.group(\"memo\")\n", + " )\n", + " tInstallmentNr = (\n", + " int(matches.group(\"p_nr\")) if matches.group(\"p_nr\") else None\n", + " )\n", + " tInstallmentTt = (\n", + " int(matches.group(\"p_tt\")) if matches.group(\"p_tt\") else None\n", + " )\n", "\n", " tCountry = matches.group(\"country\")\n", - " tOutflow = matches.group(\"outflow\").strip().replace(\".\", \"\").replace(\",\", \".\")\n", - " tInflow = matches.group(\"inflow\").strip().replace(\".\", \"\").replace(\",\", \".\")\n", + " tOutflow = (\n", + " matches.group(\"outflow\").strip().replace(\".\", \"\").replace(\",\", \".\")\n", + " )\n", + " tInflow = (\n", + " matches.group(\"inflow\").strip().replace(\".\", \"\").replace(\",\", \".\")\n", + " )\n", " tOwner = input_dict[key][\"owner_id\"]\n", " tBill = input_dict[key][\"bill\"]\n", "\n", @@ -258,1494 +276,19 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 7, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[robopato] CONNECTED! \n", - "[robopato] [1, 'DANIEL']\n", - "[robopato] DONE!\n", - "[robopato] owner_name DANIEL\n", - "[robopato] owner_id 1\n", - "[robopato] CONNECTED! \n", - "[robopato] [2, 'IZABELY']\n", - "[robopato] DONE!\n", - "[robopato] owner_name IZABELY\n", - "[robopato] owner_id 2\n", - "[robopato] linhas: 270\n", - " 1 - DANIEL O CARVALHO \n", - "\n", - "found_owner: daniel\n", - " 4 - IZABELY C NORMANDO \n", - "\n", - "found_owner: izabely\n", - "[robopato] create_lists: DONE\n" - ] - }, - { - "data": { - "text/plain": [ - "[('5cb90b993e93726adedbf10b7405f652d53930c5be578013b5390e7d96f27da4',\n", - " '2024-03-25',\n", - " 2,\n", - " 'PGTO DEBITO CONTA',\n", - " None,\n", - " '0.00',\n", - " '19249.92',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('7188e9c14d1df302415f6ca9c340cb3c1c2e3d20dc9ffc6f80b40769d398e3d9',\n", - " '2024-03-14',\n", - " 2,\n", - " 'EBN*XSOLLA CURITIBA',\n", - " 'BR',\n", - " '27.09',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('20214feeedf47b6f478073d950033ebecd4fa5960f2426a66b8ca8b3419dc8ff',\n", - " '2024-04-06',\n", - " 2,\n", - " 'PAG*MmCultura BRASILIA',\n", - " 'BR',\n", - " '26.00',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('35953f06cf0254a59a6a38252aa8920562c85ffc773f281bd72193021a957c4c',\n", - " '2024-03-16',\n", - " 2,\n", - " 'IFD*MARIANA PERDOMO CONBRASILIA',\n", - " 'BR',\n", - " '80.79',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('c6561fbe62e5f292aff8de1bc9ab716c34652c3b12c5394ffef26b0ad7c3df0e',\n", - " '2024-03-16',\n", - " 2,\n", - " 'IFD*iFood OSASCO',\n", - " 'BR',\n", - " '5.00',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('ade199a2c7bd31d642e7917f9426dc4821bbea9f32629c5a65e2dadb721904de',\n", - " '2024-03-17',\n", - " 2,\n", - " 'IFD*TT BRASILIA COMERCIBRASILIA',\n", - " 'BR',\n", - " '134.00',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('d9d307743cac72c5ee7d4c910a03b33744948f262c2e3d6cf40f86b2eb9fcafa',\n", - " '2024-03-18',\n", - " 2,\n", - " 'IFD*IFOOD.COM AGENCIA DOsasco',\n", - " 'BR',\n", - " '12.90',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('d7829acb90ff0fca39e6ef2d02ee7906add3a47f0a235115c12daa18dd4de444',\n", - " '2024-03-19',\n", - " 2,\n", - " 'CASA ALMERIA BRASILIA',\n", - " 'BR',\n", - " '157.92',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('262bfd19828e8b8a342dae3e7bd3e39232a406c985188b82e2fb73d26ecf0ee8',\n", - " '2024-03-19',\n", - " 2,\n", - " 'CASA ALMERIA BRASILIA',\n", - " 'BR',\n", - " '105.00',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('c4f8e9f2bcfbc533f4c48ecec66f16a1a013f2a23be2cf734e5436415e877c66',\n", - " '2024-03-19',\n", - " 2,\n", - " 'IFD*TAIKAN FAST SUSHI LBRASILIA',\n", - " 'BR',\n", - " '149.90',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('8895e75207c55ce3cfd96d72bbdfaaedccedf57511f55bfb744c58573cdd5915',\n", - " '2024-03-19',\n", - " 2,\n", - " 'IFD*iFood OSASCO',\n", - " 'BR',\n", - " '10.00',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('a72f7536ae51a1a820e798428b9aa7b3ae4a46cb288847fe366e1d54e810ab82',\n", - " '2024-03-28',\n", - " 2,\n", - " 'FOGO E BRASA STEAK HOUSPIRENOPOLIS',\n", - " 'BR',\n", - " '238.00',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('034bcafe8ccad12efaa41a5d6a4e59f7a6dc28bfed13ef63347fed77230c980f',\n", - " '2024-04-03',\n", - " 2,\n", - " 'ifood *IFD*RC MELO C Vila Yara Osa',\n", - " 'BR',\n", - " '226.51',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('c7ad3494231a6edbd8b4967508f37c23ae7a7a5021209aeeb9d954d90c3ec71c',\n", - " '2024-04-04',\n", - " 2,\n", - " 'IFD*TAIKAN FAST SUSHI LBRASILIA',\n", - " 'BR',\n", - " '149.90',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('8fe0c5f7952cc8d48a58b6254c17845ba9b7b12075fd24fd81af011fc19f2192',\n", - " '2024-04-06',\n", - " 2,\n", - " 'BAR E RESTAURANTE TIA BRASILIA',\n", - " 'BR',\n", - " '220.00',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('a309605d5e6cd53a38147b35df0b4b732da0141344e7a6f5cb2e94bb658aac11',\n", - " '2024-04-06',\n", - " 2,\n", - " 'BAR E RESTAURANTE TIA BRASILIA',\n", - " 'BR',\n", - " '4.00',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('bc767976e9babcfc305fbcf80c6fe8cd57a8a4d60e8b0fa0bb7e1cb2b8c22955',\n", - " '2024-04-06',\n", - " 2,\n", - " 'BAR E RESTAURANTE TIA BRASILIA',\n", - " 'BR',\n", - " '16.00',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('90b69b29a8067b6775f30c77e498fa1af23d0338beeb113f4b25a6f43effcdd5',\n", - " '2024-04-06',\n", - " 2,\n", - " 'BAR E RESTAURANTE TIA BRASILIA',\n", - " 'BR',\n", - " '12.00',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('989cacb35cf160cbf86a9715d64ae5ad742fd81faec3c320cdc5296c1d743e43',\n", - " '2024-04-06',\n", - " 2,\n", - " 'IFD*ME COMERCIO DE ALIMBRASILIA',\n", - " 'BR',\n", - " '66.90',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('995f9e361904ffb4d360d9fbf94f878f32d275309946a919113670cc47542557',\n", - " '2024-04-07',\n", - " 2,\n", - " 'IFD*UPTOWN BURGERS E SHBRASILIA',\n", - " 'BR',\n", - " '76.70',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('611677380776f1108be381b0d81c95abbc7bc3b25710fef1746792f73a16fb0e',\n", - " '2024-03-20',\n", - " 2,\n", - " 'DROGASIL 2067 BRASILIA',\n", - " 'BR',\n", - " '516.80',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('306243b405717d14ee293c96ee0cfd8d17ddf6bf14b6fb071ab34c690329dcef',\n", - " '2024-03-20',\n", - " 2,\n", - " 'REDE BRASIL DRUGSTORE BRASILIA',\n", - " 'BR',\n", - " '512.73',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('51883b24513e8bd36bec48f48a6c80286b73474b9fa86b54b9df385393937e76',\n", - " '2024-03-20',\n", - " 2,\n", - " 'PAGUE MENOS 1225 BRASILIA',\n", - " 'BR',\n", - " '568.23',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('0c00159433ca26d517d7490321e76086b66a814457845a15b3f1d188d3240fec',\n", - " '2024-04-05',\n", - " 2,\n", - " 'DROGARIA SAO PAULO BRASILIA',\n", - " 'BR',\n", - " '248.37',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('f613cd901ba2072b64d2c4e63147a5c9c812534d4c19a2335f22b6e94934f144',\n", - " '2024-03-15',\n", - " 2,\n", - " 'VELOE BARUERI',\n", - " 'BR',\n", - " '22.26',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('699c546ed26470ad8410dffe2fc42dcc227bf399cc0424d063d44fecebd54985',\n", - " '2024-03-18',\n", - " 2,\n", - " 'NETFLIX.COM SAO PAULO',\n", - " 'BR',\n", - " '39.90',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('b81c63cb6fbd9acbb04aef5153a4ce81b050059ca4532b783b4c435e5bc96b9b',\n", - " '2024-03-19',\n", - " 2,\n", - " 'PAG*FolhaDeSPaulo SAO PAULO',\n", - " 'BR',\n", - " '29.90',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('ec7d1f893760870a323664fa8cc02ddbb7860d9a1ae6f608b2be325acb360526',\n", - " '2024-03-23',\n", - " 2,\n", - " 'PAG*Zig SAO PAULO',\n", - " 'BR',\n", - " '376.01',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('c867ebd115487e3909abd451645a9ab98fea8b0fff3824fa4da07d9e04d44566',\n", - " '2024-03-27',\n", - " 2,\n", - " 'Gympass GympassBr Sao Paulo',\n", - " 'BR',\n", - " '399.90',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('a96ad4502fc4a752a8b383b0099ec2de9ec61badc9dffaf6f70c444a6d1f3bc9',\n", - " '2024-03-29',\n", - " 2,\n", - " 'MP *MELIMAIS OSASCO',\n", - " 'BR',\n", - " '17.99',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('ef379b5e9fc7446dea83a1f48b7081a875ed8c88be469d7add781a7f3f2830b6',\n", - " '2024-04-01',\n", - " 2,\n", - " 'MERCADOLIVRE*AGUSHOPCOMOSASCO',\n", - " 'BR',\n", - " '39.90',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('f93bf546ea531cb4f914173492fbe7516f3bb9850e17740300383437950e4742',\n", - " '2024-04-01',\n", - " 2,\n", - " 'MERCADOLIVRE*GIGATUDOBYOSASCO',\n", - " 'BR',\n", - " '418.41',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('73ac088de1fa81667d3f62b9c5558cc629078d2a9f18e2a52806520fac8ada32',\n", - " '2024-04-02',\n", - " 2,\n", - " 'MERCADOLIVRE*BRASIL OSASCO',\n", - " 'BR',\n", - " '58.57',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('62a7cd95716db9d2e4f1aebba46921c46b6c204d9a051fa86614280007057e9f',\n", - " '2024-04-03',\n", - " 2,\n", - " 'MERCADOLIVRE*AGUSHOPCOMOSASCO',\n", - " 'BR',\n", - " '31.90',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('53ec0280f0dbba14a2f4859f3857d496e3373392b08d03f040e6fe7ee57db1ff',\n", - " '2024-04-04',\n", - " 2,\n", - " 'IFD*Gleidson Renato LeiOsasco',\n", - " 'BR',\n", - " '10.00',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('ad5c26ea7ceb9e48b349a3d6b31c5c9c6b312add393d573cdf8d2381e294aafd',\n", - " '2024-04-04',\n", - " 2,\n", - " 'APPLE.COM/BILL SAO PAULO',\n", - " 'BR',\n", - " '54.90',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('42c7063303d55215768d601b480515b0bd0cdab4e1239cbdb41327ab6843cae0',\n", - " '2024-04-05',\n", - " 2,\n", - " 'MERCADOLIVRE*WIXACESSOROSASCO',\n", - " 'BR',\n", - " '58.57',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('146aaec85672fc7f33bfcf32e446a9440661ca8364d4c686e2e8c7796c232c06',\n", - " '2024-04-04',\n", - " 2,\n", - " 'IFD*LOG CITY ESPRESS Osasco',\n", - " 'BR',\n", - " '5.00',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('46cf57826dbc0e3ce7eafa0c46b465018cb944017b1a876bd9398449be5bd9b1',\n", - " '2024-04-05',\n", - " 2,\n", - " 'Gympass GympassBr Sao Paulo',\n", - " 'BR',\n", - " '399.90',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('0c139f70c2d9c2fbbd0c9b4170ccee1857a546a2f2cd2724cd2f8e2e6d528a21',\n", - " '2024-04-05',\n", - " 2,\n", - " 'MR JOHN BARBEARIA LTDA BRASILIA',\n", - " 'BR',\n", - " '60.00',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('790690a308c29e3d47a44110f2a17e1831123de9b47ad643f613c7fdff93b73d',\n", - " '2024-04-09',\n", - " 2,\n", - " 'MERCADOLIVRE*SABORESDAMOSASCO',\n", - " 'BR',\n", - " '109.90',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('5ed34ac55b465c47fdda1cc07de063fec6ee7491357e9f7bc23a4ace243d62d1',\n", - " '2024-03-24',\n", - " 2,\n", - " 'PAG*GaleteriaSerrana BRASILIA',\n", - " 'BR',\n", - " '164.78',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('8943e65036e0fea5a8854e3be55cafbc73aafc3671e8046a734240f6172f6bf0',\n", - " '2024-03-18',\n", - " 2,\n", - " 'UBER* TRIP OSASCO',\n", - " 'BR',\n", - " '13.98',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('eda51385fa78ee71ca2f0064bba5dc2bff4302c56dcb2cf694bdb35c916c7b23',\n", - " '2024-03-18',\n", - " 2,\n", - " 'UBER *TRIP HELP.UBER.COSAO PAULO',\n", - " 'BR',\n", - " '1.60',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.910546',\n", - " None),\n", - " ('0dfdc4263e8e65c6de2c7f8d38161c0daacd63cb37b382847bd2ddd056d2da68',\n", - " '2024-03-18',\n", - " 2,\n", - " 'UBER * PENDING SAO PAULO',\n", - " 'BR',\n", - " '13.92',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('6dcee1cca1db875bc35a69d55c31ca5b5410c1a4521bf58ab56aa5fac73abd5c',\n", - " '2024-03-18',\n", - " 2,\n", - " 'UBER *TRIP HELP.UBER.COSAO PAULO',\n", - " 'BR',\n", - " '5.00',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('dccf0222efec55046e88ae0a98854a1e3cd5489c4debf3a0ec0c010fc8c81ec3',\n", - " '2024-03-19',\n", - " 2,\n", - " 'UBER* TRIP OSASCO',\n", - " 'BR',\n", - " '11.83',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('88a67dafcf1aa39dcb7438c70908b1ed4a44b04d6684e7b5ea55be8fde959ffa',\n", - " '2024-03-21',\n", - " 2,\n", - " 'UBER * PENDING SAO PAULO',\n", - " 'BR',\n", - " '10.98',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('8ec9f861ce9b6b8c85aea93b0b97fcddeb39825695b3504754ae92b25edd4f00',\n", - " '2024-03-23',\n", - " 2,\n", - " 'UBER * PENDING SAO PAULO',\n", - " 'BR',\n", - " '10.96',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('2efc5afd8c51baf078656d3065ffa1e53094a9da1ac4e2283a74f7eaaa447c25',\n", - " '2024-03-25',\n", - " 2,\n", - " 'UBER* TRIP OSASCO',\n", - " 'BR',\n", - " '14.55',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('8c1f26ef970a03d3c0721d7dd51b3c3660223e7caefc2e1ce242e6436b945398',\n", - " '2024-03-25',\n", - " 2,\n", - " 'UBER* TRIP OSASCO',\n", - " 'BR',\n", - " '5.00',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('3fd1e0e38ba346bdeb0b7acaa648302fe875e26b5e6174fff17fc80d77457e0b',\n", - " '2024-03-25',\n", - " 2,\n", - " 'UBER *TRIP HELP.UBER.COSAO PAULO',\n", - " 'BR',\n", - " '14.80',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('944792ddfb7f3d7c7828d2ba45b879b878082401914a71ffc1930518b4ecc97b',\n", - " '2024-03-25',\n", - " 2,\n", - " 'UBER * PENDING SAO PAULO',\n", - " 'BR',\n", - " '13.92',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('51d8b7bab579b58a16cbecfe9ac56284af2a7428517397ce9ed495a8dfe19fec',\n", - " '2024-03-25',\n", - " 2,\n", - " 'UBER *TRIP HELP.UBER.COSAO PAULO',\n", - " 'BR',\n", - " '3.41',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('636a1f51b582bbcf5ae6b2a666cdfcd44408a609ae8a7c6615f931f7dd22e361',\n", - " '2024-03-28',\n", - " 2,\n", - " 'UBER* TRIP OSASCO',\n", - " 'BR',\n", - " '14.31',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('2167e7c459cb69fc6ce5366c1219486b9603e5781a1ecbe4c5cb371131efdaa7',\n", - " '2024-03-28',\n", - " 2,\n", - " 'UBER* TRIP OSASCO',\n", - " 'BR',\n", - " '1.44',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('e71a7d45f2c6014e29fecd3485949d5a3bed6b3b593a0b23ee474891cbea60e0',\n", - " '2024-03-28',\n", - " 2,\n", - " 'UBER* TRIP OSASCO',\n", - " 'BR',\n", - " '14.08',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('04d248d55858747307cbe62733548af38675374c5b05e2ba30a1eff04ca84329',\n", - " '2024-03-28',\n", - " 2,\n", - " 'UBER* TRIP OSASCO',\n", - " 'BR',\n", - " '3.00',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('1d24258166d477e6a2de62c9cb34e053e097ba4d6633d10d8d561592b8c1896a',\n", - " '2024-04-02',\n", - " 2,\n", - " 'UBER * PENDING SAO PAULO',\n", - " 'BR',\n", - " '19.94',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('bc6ae33c0ff5d251f71939996f57c3ffaacad26a5f99789cb5a8649cb3db68b5',\n", - " '2024-04-02',\n", - " 2,\n", - " 'UBER * PENDING SAO PAULO',\n", - " 'BR',\n", - " '39.93',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('1f8a5c95245575cfe7b3a4531104380dfd896b868059193cc12d73a93771506f',\n", - " '2024-04-04',\n", - " 2,\n", - " 'UBER * PENDING SAO PAULO',\n", - " 'BR',\n", - " '10.93',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('8f25eae32ac8bffeda8ca57ede0f9a6c25688cd7ee29b7f1dffe2d6461805f24',\n", - " '2024-04-06',\n", - " 2,\n", - " 'UBER * PENDING SAO PAULO',\n", - " 'BR',\n", - " '39.94',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('0f738243589eba1524e963d53944ea22f11e0c6bbc4a20be6d0c6ebaf6f9865f',\n", - " '2024-04-09',\n", - " 2,\n", - " 'UBER * PENDING SAO PAULO',\n", - " 'BR',\n", - " '10.97',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('96d37fb6c375e92e31a54a829075cf63300c776191b4d9fe75e43ee09fb590c9',\n", - " '2024-03-27',\n", - " 2,\n", - " 'CASA DO CHOCOLATE BRASILIA',\n", - " 'BR',\n", - " '283.89',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('f94bd68849487a7e0ac18a3576c6199c0c7d9436f5ebb8f67d2ddfa2f1777214',\n", - " '2024-03-13',\n", - " 2,\n", - " 'DL*GOOGLE YouTub SAO PAULO',\n", - " 'BR',\n", - " '41.90',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('5a3c99d2ca2871709cb26c5aca2e9d70e66a7d98a89e5f24dd11b26e10ce668c',\n", - " '2024-03-18',\n", - " 2,\n", - " 'Amazon Music SAO PAULO',\n", - " 'BR',\n", - " '21.90',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('3c0a5f07c36f59b1c6570b8443bab511f25028149f4763484a295f47c886b263',\n", - " '2024-03-14',\n", - " 2,\n", - " 'STEAM PURCHASE SEATTLE',\n", - " 'DE',\n", - " '24.00',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('3803b421ca4f0060d9359c3d9951fab8022f69ae4400257c3a24a58545f1ca6a',\n", - " '2024-03-19',\n", - " 2,\n", - " 'IOF - COMPRA NO EXTERIOR',\n", - " ' ',\n", - " '1.05',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('3a8b9fa7724733720d29b77283fcb32c181dc57d015f6b8322f88b2bfa0190f2',\n", - " '2024-03-15',\n", - " 2,\n", - " 'STEAM PURCHASE SEATTLE',\n", - " 'DE',\n", - " '47.88',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('7697444133514b975ea3451125a11213bb2b491c4f48e2627eb508e2ed759483',\n", - " '2024-03-19',\n", - " 2,\n", - " 'IOF - COMPRA NO EXTERIOR',\n", - " ' ',\n", - " '2.09',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('3f6e8b6769057e840c2394b63cf1b2410aecb5a52a9349141872f2bbb56bfa4e',\n", - " '2024-04-04',\n", - " 2,\n", - " 'STEAM PURCHASE SEATTLE',\n", - " 'DE',\n", - " '117.98',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('b34942569fa2419f43a316db0570464d442b78a253fecf17ce664c50310f8815',\n", - " '2024-04-08',\n", - " 2,\n", - " 'IOF - COMPRA NO EXTERIOR',\n", - " ' ',\n", - " '1.29',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('df3108e536de5760db0f198f0987810b7ae0c7c9534d81c5ea636980055a5bfb',\n", - " '2024-01-15',\n", - " 2,\n", - " 'MP*MUNDODOSCO PARC 03/10 SAO PAULO',\n", - " 'BR',\n", - " '159.90',\n", - " '0.00',\n", - " 1,\n", - " 3,\n", - " 10,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('df76f093519a33e3bb98fe05e903785c053507347622b8c05589862d0be0b192',\n", - " '2023-10-17',\n", - " 2,\n", - " 'BIANCHINI AUT PARC 06/10 BRASILIA',\n", - " 'BR',\n", - " '535.00',\n", - " '0.00',\n", - " 1,\n", - " 6,\n", - " 10,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('78496e1f400c157ef215e32e0fbdb14ddfadd69c47afc00edfebfa71677bb7e8',\n", - " '2024-03-22',\n", - " 2,\n", - " 'SNOW PARC 01/02 BELO HORIZON',\n", - " 'BR',\n", - " '2466.69',\n", - " '0.00',\n", - " 1,\n", - " 1,\n", - " 2,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('8befb7b5cececc36abbd5edf6aca5b7f3b097c81dc33d9ed53bc4a619e2a7cae',\n", - " '2024-03-26',\n", - " 2,\n", - " 'QUEST 01/02-SNOW BELO',\n", - " 'BR',\n", - " '-2466.69',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('97beac8e8ccf42f1b408a72910fdb752335c6f188611acd758e426fb99d4d6e6',\n", - " '2024-03-22',\n", - " 2,\n", - " 'SNOW PARC 01/10 BELO HORIZON',\n", - " 'BR',\n", - " '493.41',\n", - " '0.00',\n", - " 1,\n", - " 1,\n", - " 10,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('2f5f0b09adacca0fe2092cfff44e2416baa65899972410a44f102f0beb8dc575',\n", - " '2024-03-26',\n", - " 2,\n", - " 'QUEST 01/10-SNOW BELO',\n", - " 'BR',\n", - " '-493.41',\n", - " '0.00',\n", - " 1,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('c27dd2acbc58180e02ecc5e2660e42f43989e3c54433aa86026c2a471976b11d',\n", - " '2024-03-18',\n", - " 2,\n", - " 'FEDERAL GOURMET BRASILIA',\n", - " 'BR',\n", - " '22.56',\n", - " '0.00',\n", - " 2,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('698c52b86b0943f1cbde4297dd0a77b5fcdb00b333acffa598eedc873d0ab23b',\n", - " '2024-03-18',\n", - " 2,\n", - " 'FEDERAL GOURMET BRASILIA',\n", - " 'BR',\n", - " '18.85',\n", - " '0.00',\n", - " 2,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('e1a53da4f7ab3751065506143520cce5bd9dc91b5bd6cb782d930a305e4f6f29',\n", - " '2024-03-23',\n", - " 2,\n", - " 'COCO BAMBU IGUATEMI BR BRASILIA',\n", - " 'BR',\n", - " '250.23',\n", - " '0.00',\n", - " 2,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('d20308dc88e89195025eafb37836b406f2508c7fa74f8002a47add15eecdf045',\n", - " '2024-03-30',\n", - " 2,\n", - " 'PAG*ColoreGelateria PIRENOPOLIS',\n", - " 'BR',\n", - " '44.46',\n", - " '0.00',\n", - " 2,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('dd61f10bcd1786e46a74d212b20cfcf0d4799c5df333c4f56e573d4346a82805',\n", - " '2024-04-01',\n", - " 2,\n", - " 'FEDERAL GOUR BRASILIA',\n", - " 'BR',\n", - " '18.93',\n", - " '0.00',\n", - " 2,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('8fc832b47ffa3999bb67ec6b64cf37583580ace23fafc4337bfe5c895db441e5',\n", - " '2024-04-01',\n", - " 2,\n", - " 'FEDERAL GOUR BRASILIA',\n", - " 'BR',\n", - " '120.00',\n", - " '0.00',\n", - " 2,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('a0d5a313386c3fe5da9f007d5851821f6ee63afc5a53cc8d1e23ea3530879877',\n", - " '2024-04-06',\n", - " 2,\n", - " 'BAR E RESTAURANTE TIA BRASILIA',\n", - " 'BR',\n", - " '27.00',\n", - " '0.00',\n", - " 2,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('bc767976e9babcfc305fbcf80c6fe8cd57a8a4d60e8b0fa0bb7e1cb2b8c22955',\n", - " '2024-04-06',\n", - " 2,\n", - " 'BAR E RESTAURANTE TIA BRASILIA',\n", - " 'BR',\n", - " '16.00',\n", - " '0.00',\n", - " 2,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('7aadae423983e905cb394b0a0e83c8521821f4f23a4d107121828bc93a3d8bdd',\n", - " '2024-04-07',\n", - " 2,\n", - " 'ifood *IFD*SN COMERC Vila Yara Osa',\n", - " 'BR',\n", - " '152.00',\n", - " '0.00',\n", - " 2,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('3d85e6524c3bba8c4460dcfdda635f288c0bb11d8c0257af7272ab1d406cbd83',\n", - " '2024-03-18',\n", - " 2,\n", - " 'LISTO*CLINICAESTETICARNBRASILIA',\n", - " 'BR',\n", - " '4300.00',\n", - " '0.00',\n", - " 2,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('3437eb13b66a2f9821a1eea5d1402810341b1630b59bc35f1dc5cd79d0750805',\n", - " '2024-03-28',\n", - " 2,\n", - " 'DROGASIL 2067 BRASILIA',\n", - " 'BR',\n", - " '114.34',\n", - " '0.00',\n", - " 2,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('49a62a588a3f37438ec9745dc466e0353df421aa736bceacd373fe80414c6350',\n", - " '2024-04-08',\n", - " 2,\n", - " 'DROGASIL 1383 BRASILIA',\n", - " 'BR',\n", - " '92.18',\n", - " '0.00',\n", - " 2,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('667833c7ce78f845ff20944d482d430a288663a1cc8ed3b3f749cc228aa46408',\n", - " '2024-03-13',\n", - " 2,\n", - " 'CODA OIAPOQUE',\n", - " 'BR',\n", - " '110.83',\n", - " '0.00',\n", - " 2,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('43f9cea55dacf333b6f811e2178167832a45a965e2726a7eda410df1b96f5cd9',\n", - " '2024-03-14',\n", - " 2,\n", - " 'VINHOS E CO MACAPA',\n", - " 'BR',\n", - " '177.92',\n", - " '0.00',\n", - " 2,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('41b869a0329b29fae6eb470fe9419b6063c5c8176b9543eae5aba7eab7e05c5b',\n", - " '2024-03-15',\n", - " 2,\n", - " 'RUSTIC ALIMENTOS LTDA MACAPA',\n", - " 'BR',\n", - " '71.50',\n", - " '0.00',\n", - " 2,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('dc6d9812d478d9546a72ead885ab8e6b6e562ee9cadbfd17b19575902029787a',\n", - " '2024-03-19',\n", - " 2,\n", - " 'PICPAY UNICOMPRASINT Brasilia',\n", - " 'BR',\n", - " '353.00',\n", - " '0.00',\n", - " 2,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('d23cbf4e13ae58f8a9b258263cfb69e6338012ffa8d9dc98859ee82f44beab66',\n", - " '2024-03-24',\n", - " 2,\n", - " 'DM *SHEINCOM MIDVIEW CITY',\n", - " 'BR',\n", - " '162.93',\n", - " '0.00',\n", - " 2,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('b0512a2a0887adf480c2303f2eea9a5288e951bb6c29bf859f2ec4c227439361',\n", - " '2024-03-26',\n", - " 2,\n", - " 'MP*DONAFUTRICA OSASCO',\n", - " 'BR',\n", - " '824.50',\n", - " '0.00',\n", - " 2,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('86836817e6827a6db374eb3143c0800100a351a65fc76f4a9c69687a5e8615c4',\n", - " '2024-03-27',\n", - " 2,\n", - " 'CAFES PLURAIS TORRADOS BRASILIA',\n", - " 'BR',\n", - " '279.90',\n", - " '0.00',\n", - " 2,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('92af13629cdd2bf6847e5503c610e0d477bf99aeb808bc9d325b5fb64840a91c',\n", - " '2024-03-30',\n", - " 2,\n", - " 'PAG*WeniaFerreiraDo PIRENOPOLIS',\n", - " 'BR',\n", - " '94.80',\n", - " '0.00',\n", - " 2,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911076',\n", - " None),\n", - " ('e354288ffefd55f9ef6f97b625fa5d6bff7f1166aa3a1609fd1c0fb53752f117',\n", - " '2024-03-31',\n", - " 2,\n", - " 'RR PIRENOPOLIS',\n", - " 'BR',\n", - " '240.08',\n", - " '0.00',\n", - " 2,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911601',\n", - " None),\n", - " ('e1ddf85b3de155e7772864b27496bb8674f216423d3f0eee7fab95e37de06c4b',\n", - " '2024-04-10',\n", - " 2,\n", - " 'IFD*F C BOLOS DO FLAVIOBRASILIA',\n", - " 'BR',\n", - " '90.00',\n", - " '0.00',\n", - " 2,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911601',\n", - " None),\n", - " ('05f724dbc69bab0a57e0a19fec9b13a53c6e3cfbf86171f32b9c744b951bf5b2',\n", - " '2024-04-07',\n", - " 2,\n", - " 'PAG*GaleteriaSerrana BRASILIA',\n", - " 'BR',\n", - " '174.10',\n", - " '0.00',\n", - " 2,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911601',\n", - " None),\n", - " ('8be7e5d43b0f7dd9356d42094fd8698e29e911271220d8c0f95270634f748600',\n", - " '2024-03-24',\n", - " 2,\n", - " 'DL*SHEINCOM SAO PAULO',\n", - " 'BR',\n", - " '270.94',\n", - " '0.00',\n", - " 2,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911601',\n", - " None),\n", - " ('f6227a2d119a96d171c5524d41e4e22d28c875464bf8f18dc932babd02462fcf',\n", - " '2024-03-30',\n", - " 2,\n", - " 'MARIA PIRENOPOLIS',\n", - " 'BR',\n", - " '120.00',\n", - " '0.00',\n", - " 2,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911601',\n", - " None),\n", - " ('025a1637445131c974b804d5653fddd3b1b7b5755c377cc7c32fa36fb9e31da3',\n", - " '2024-04-08',\n", - " 2,\n", - " 'TRACKEFIELD BRASILIA',\n", - " 'BR',\n", - " '120.10',\n", - " '0.00',\n", - " 2,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911601',\n", - " None),\n", - " ('bd6e88005a015541fee176081e17051e4622abd86c45cdcc1432b2b6c677f5ed',\n", - " '2024-03-15',\n", - " 2,\n", - " 'BDH HOTELARIA MACAPA',\n", - " 'BR',\n", - " '72.00',\n", - " '0.00',\n", - " 2,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911601',\n", - " None),\n", - " ('a0e8898775e2b200bb678019fb3cd57f3f77e02ea334cd9000cefc56aec2a310',\n", - " '2024-03-14',\n", - " 2,\n", - " 'LATAM SITE SAO PAULO',\n", - " 'BR',\n", - " '93.00',\n", - " '0.00',\n", - " 2,\n", - " None,\n", - " None,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911665',\n", - " None),\n", - " ('b3dd38967f3dac4d2d0c3f0a613d06bfee9cb141512a7611bc8ac249a48809d7',\n", - " '2024-01-15',\n", - " 2,\n", - " 'LDM PARC 03/04 BRASILIA',\n", - " 'BR',\n", - " '1100.00',\n", - " '0.00',\n", - " 2,\n", - " 3,\n", - " 4,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911665',\n", - " None),\n", - " ('92a237dd36ca696f662c2125fef06f5e81a7d78144fc648c3c40f42ea9f8888e',\n", - " '2024-01-17',\n", - " 2,\n", - " 'BRASILIA EMPR PARC 03/12 BRASILIA',\n", - " 'BR',\n", - " '599.00',\n", - " '0.00',\n", - " 2,\n", - " 3,\n", - " 12,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911665',\n", - " None),\n", - " ('d5d234eaef5befa8b20ff2e221daf088139e8275b9dfc9f0c3318f9fe3fcc5c3',\n", - " '2024-01-26',\n", - " 2,\n", - " 'VISAO INSTITU PARC 03/05 BRASILIA',\n", - " 'BR',\n", - " '200.00',\n", - " '0.00',\n", - " 2,\n", - " 3,\n", - " 5,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911665',\n", - " None),\n", - " ('25bbf43e25763718b999e3e528f1998d90d834e5e78d197d2c09e591f1398fc8',\n", - " '2024-03-26',\n", - " 2,\n", - " 'BIOEXATA FARM PARC 01/03 BRASILIA',\n", - " 'BR',\n", - " '583.01',\n", - " '0.00',\n", - " 2,\n", - " 1,\n", - " 3,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911665',\n", - " None),\n", - " ('18cee8c1dec0daf99b9627233b040e25fea84d71cac503189218c7a59990a1b2',\n", - " '2024-01-07',\n", - " 2,\n", - " 'PG *B4A GLAMB PARC 04/12 SAO PAULO',\n", - " 'BR',\n", - " '74.90',\n", - " '0.00',\n", - " 2,\n", - " 4,\n", - " 12,\n", - " 'Próxima Fatura',\n", - " '2024-12-21 22:34:32.911665',\n", - " None)]" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# Test\n", - "build_insert(create_lists(\"./documents/OUROCARD_VISA_INFINITE-Abr_24.txt\", \"Próxima Fatura\"), 2)" + "# build_insert(\n", + "# create_lists(\"./documents/OUROCARD_VISA_INFINITE-Mar_26.txt\", \"Mar-2026\"), 2\n", + "# )" ] }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -1772,7 +315,21 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "# Tests\n", + "# db_insert(\n", + "# build_insert(\n", + "# create_lists(\"./documents/OUROCARD_VISA_INFINITE-Mar_26.txt\", \"Mar-2026\"), 2\n", + "# )\n", + "# )" + ] + }, + { + "cell_type": "code", + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ @@ -1786,283 +343,274 @@ "\n", " for file in matched_files:\n", " bill = file.name[:-4][23:]\n", - " db_insert(\n", - " build_insert(\n", - " create_lists(file, bill), 2\n", - " )\n", - " )\n", - " \n", + " db_insert(build_insert(create_lists(file, bill), 2))\n", + "\n", " print(\"EXECUTOR COMPLETED.\")" ] }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "[robopato] CONNECTED! \n", - "[robopato] [1, 'DANIEL']\n", + "DANIEL\n", + "[robopato] CONNECTED! \n", + "[robopato] [1, 'Daniel']\n", "[robopato] DONE!\n", "[robopato] owner_name DANIEL\n", "[robopato] owner_id 1\n", - "[robopato] CONNECTED! \n", - "[robopato] [2, 'IZABELY']\n", + "[robopato] linhas: 66\n", + " 1-DANIEL O C \n", + "\n", + "found_owner: daniel\n", + "sample: 08/08 CINEMARK BRASIL S A EC SAO PAULO BR 58,00 0,00\n", + "\n", + "[robopato] create_lists: DONE\n", + "CONNECTED! \n", + "DONE!\n", + "DANIEL\n", + "[robopato] CONNECTED! \n", + "[robopato] [1, 'Daniel']\n", "[robopato] DONE!\n", - "[robopato] owner_name IZABELY\n", - "[robopato] owner_id 2\n", - "[robopato] linhas: 270\n", + "[robopato] owner_name DANIEL\n", + "[robopato] owner_id 1\n", + "[robopato] linhas: 253\n", " 1 - DANIEL O CARVALHO \n", "\n", "found_owner: daniel\n", - " 4 - IZABELY C NORMANDO \n", + "sample: 13.04.2025CINE PARK SHOPPING GUARA BR 112,50 0,00\n", "\n", - "found_owner: izabely\n", "[robopato] create_lists: DONE\n", - "CONNECTED! \n", + "CONNECTED! \n", "DONE!\n", - "[robopato] CONNECTED! \n", - "[robopato] [1, 'DANIEL']\n", + "DANIEL\n", + "[robopato] CONNECTED! \n", + "[robopato] [1, 'Daniel']\n", "[robopato] DONE!\n", "[robopato] owner_name DANIEL\n", "[robopato] owner_id 1\n", - "[robopato] CONNECTED! \n", - "[robopato] [2, 'IZABELY']\n", - "[robopato] DONE!\n", - "[robopato] owner_name IZABELY\n", - "[robopato] owner_id 2\n", - "[robopato] linhas: 272\n", + "[robopato] linhas: 248\n", " 1 - DANIEL O CARVALHO \n", "\n", "found_owner: daniel\n", - " 4 - IZABELY C NORMANDO \n", + "sample: 04.04.2026GOG.com Warsaw PL 28,59 0,00\n", "\n", - "found_owner: izabely\n", "[robopato] create_lists: DONE\n", - "CONNECTED! \n", + "CONNECTED! \n", "DONE!\n", - "[robopato] CONNECTED! \n", - "[robopato] [1, 'DANIEL']\n", + "DANIEL\n", + "[robopato] CONNECTED! \n", + "[robopato] [1, 'Daniel']\n", "[robopato] DONE!\n", "[robopato] owner_name DANIEL\n", "[robopato] owner_id 1\n", - "[robopato] CONNECTED! \n", - "[robopato] [2, 'IZABELY']\n", - "[robopato] DONE!\n", - "[robopato] owner_name IZABELY\n", - "[robopato] owner_id 2\n", - "[robopato] linhas: 307\n", + "[robopato] linhas: 201\n", " 1 - DANIEL O CARVALHO \n", "\n", "found_owner: daniel\n", - " 4 - IZABELY C NORMANDO \n", + "sample: 05.08.2025Steam SAO PAULO BR 118,24 0,00\n", "\n", - "found_owner: izabely\n", "[robopato] create_lists: DONE\n", - "CONNECTED! \n", + "CONNECTED! \n", "DONE!\n", - "[robopato] CONNECTED! \n", - "[robopato] [1, 'DANIEL']\n", + "DANIEL\n", + "[robopato] CONNECTED! \n", + "[robopato] [1, 'Daniel']\n", "[robopato] DONE!\n", "[robopato] owner_name DANIEL\n", "[robopato] owner_id 1\n", - "[robopato] CONNECTED! \n", - "[robopato] [2, 'IZABELY']\n", - "[robopato] DONE!\n", - "[robopato] owner_name IZABELY\n", - "[robopato] owner_id 2\n", - "[robopato] linhas: 304\n", + "[robopato] linhas: 230\n", " 1 - DANIEL O CARVALHO \n", "\n", "found_owner: daniel\n", - " 4 - IZABELY C NORMANDO \n", + "sample: 01.12.2025AMAZONMKTPLC*KARINAALV SAO PAULO BR -54,27 0,00\n", "\n", - "found_owner: izabely\n", "[robopato] create_lists: DONE\n", - "CONNECTED! \n", + "CONNECTED! \n", "DONE!\n", - "[robopato] CONNECTED! \n", - "[robopato] [1, 'DANIEL']\n", + "DANIEL\n", + "[robopato] CONNECTED! \n", + "[robopato] [1, 'Daniel']\n", "[robopato] DONE!\n", "[robopato] owner_name DANIEL\n", "[robopato] owner_id 1\n", - "[robopato] CONNECTED! \n", - "[robopato] [2, 'IZABELY']\n", - "[robopato] DONE!\n", - "[robopato] owner_name IZABELY\n", - "[robopato] owner_id 2\n", - "[robopato] linhas: 289\n", + "[robopato] linhas: 214\n", " 1 - DANIEL O CARVALHO \n", "\n", "found_owner: daniel\n", - " 4 - IZABELY C NORMANDO \n", + "sample: 19.01.2026CINEMARK BRASIL S.A EC SAO PAULO BR 41,04 0,00\n", "\n", - "found_owner: izabely\n", "[robopato] create_lists: DONE\n", - "CONNECTED! \n", + "CONNECTED! \n", "DONE!\n", - "[robopato] CONNECTED! \n", - "[robopato] [1, 'DANIEL']\n", + "DANIEL\n", + "[robopato] CONNECTED! \n", + "[robopato] [1, 'Daniel']\n", "[robopato] DONE!\n", "[robopato] owner_name DANIEL\n", "[robopato] owner_id 1\n", - "[robopato] CONNECTED! \n", - "[robopato] [2, 'IZABELY']\n", - "[robopato] DONE!\n", - "[robopato] owner_name IZABELY\n", - "[robopato] owner_id 2\n", - "[robopato] linhas: 295\n", + "[robopato] linhas: 186\n", " 1 - DANIEL O CARVALHO \n", "\n", "found_owner: daniel\n", - " 4 - IZABELY C NORMANDO \n", + "sample: 19.12.2025AMAZONMKTPLC*ARTCLUBSH SAO PAULO BR -285,78 0,00\n", "\n", - "found_owner: izabely\n", "[robopato] create_lists: DONE\n", - "CONNECTED! \n", + "CONNECTED! \n", "DONE!\n", - "[robopato] CONNECTED! \n", - "[robopato] [1, 'DANIEL']\n", + "DANIEL\n", + "[robopato] CONNECTED! \n", + "[robopato] [1, 'Daniel']\n", "[robopato] DONE!\n", "[robopato] owner_name DANIEL\n", "[robopato] owner_id 1\n", - "[robopato] CONNECTED! \n", - "[robopato] [2, 'IZABELY']\n", - "[robopato] DONE!\n", - "[robopato] owner_name IZABELY\n", - "[robopato] owner_id 2\n", - "[robopato] linhas: 291\n", + "[robopato] linhas: 203\n", " 1 - DANIEL O CARVALHO \n", "\n", "found_owner: daniel\n", - " 4 - IZABELY C NORMANDO \n", + "sample: 13.06.2025ECB SUDOESTE BRASILIA BR 45,00 0,00\n", "\n", - "found_owner: izabely\n", "[robopato] create_lists: DONE\n", - "CONNECTED! \n", + "CONNECTED! \n", "DONE!\n", - "[robopato] CONNECTED! \n", - "[robopato] [1, 'DANIEL']\n", + "DANIEL\n", + "[robopato] CONNECTED! \n", + "[robopato] [1, 'Daniel']\n", "[robopato] DONE!\n", "[robopato] owner_name DANIEL\n", "[robopato] owner_id 1\n", - "[robopato] CONNECTED! \n", - "[robopato] [2, 'IZABELY']\n", - "[robopato] DONE!\n", - "[robopato] owner_name IZABELY\n", - "[robopato] owner_id 2\n", - "[robopato] linhas: 281\n", + "[robopato] linhas: 205\n", " 1 - DANIEL O CARVALHO \n", "\n", "found_owner: daniel\n", - " 4 - IZABELY C NORMANDO \n", + "sample: 22.06.2026UBER *ONE MEMBERSHIP UBSAO PAULO BR -1,93 0,00\n", "\n", - "found_owner: izabely\n", "[robopato] create_lists: DONE\n", - "CONNECTED! \n", + "CONNECTED! \n", "DONE!\n", - "[robopato] CONNECTED! \n", - "[robopato] [1, 'DANIEL']\n", + "DANIEL\n", + "[robopato] CONNECTED! \n", + "[robopato] [1, 'Daniel']\n", "[robopato] DONE!\n", "[robopato] owner_name DANIEL\n", "[robopato] owner_id 1\n", - "[robopato] CONNECTED! \n", - "[robopato] [2, 'IZABELY']\n", - "[robopato] DONE!\n", - "[robopato] owner_name IZABELY\n", - "[robopato] owner_id 2\n", - "[robopato] linhas: 292\n", + "[robopato] linhas: 210\n", " 1 - DANIEL O CARVALHO \n", "\n", "found_owner: daniel\n", - " 4 - IZABELY C NORMANDO \n", + "sample: 31.05.2025CINEMARK BRASIL SAO PAULO BR 94,00 0,00\n", "\n", - "found_owner: izabely\n", "[robopato] create_lists: DONE\n", - "CONNECTED! \n", + "CONNECTED! \n", "DONE!\n", - "[robopato] CONNECTED! \n", - "[robopato] [1, 'DANIEL']\n", + "DANIEL\n", + "[robopato] CONNECTED! \n", + "[robopato] [1, 'Daniel']\n", "[robopato] DONE!\n", "[robopato] owner_name DANIEL\n", "[robopato] owner_id 1\n", - "[robopato] CONNECTED! \n", - "[robopato] [2, 'IZABELY']\n", + "[robopato] linhas: 210\n", + " 1 - DANIEL O CARVALHO \n", + "\n", + "found_owner: daniel\n", + "sample: 19.05.2026BURGER KING BRASILIA BR 68,70 0,00\n", + "\n", + "[robopato] create_lists: DONE\n", + "CONNECTED! \n", + "DONE!\n", + "DANIEL\n", + "[robopato] CONNECTED! \n", + "[robopato] [1, 'Daniel']\n", "[robopato] DONE!\n", - "[robopato] owner_name IZABELY\n", - "[robopato] owner_id 2\n", - "[robopato] linhas: 310\n", + "[robopato] owner_name DANIEL\n", + "[robopato] owner_id 1\n", + "[robopato] linhas: 235\n", " 1 - DANIEL O CARVALHO \n", "\n", "found_owner: daniel\n", - " 4 - IZABELY C NORMANDO \n", + "sample: 20.04.2025CINEMARK BRASIL SAO PAULO BR 39,33 0,00\n", "\n", - "found_owner: izabely\n", "[robopato] create_lists: DONE\n", - "CONNECTED! \n", + "CONNECTED! \n", "DONE!\n", - "[robopato] CONNECTED! \n", - "[robopato] [1, 'DANIEL']\n", + "DANIEL\n", + "[robopato] CONNECTED! \n", + "[robopato] [1, 'Daniel']\n", "[robopato] DONE!\n", "[robopato] owner_name DANIEL\n", "[robopato] owner_id 1\n", - "[robopato] CONNECTED! \n", - "[robopato] [2, 'IZABELY']\n", + "[robopato] linhas: 239\n", + " 1 - DANIEL O CARVALHO \n", + "\n", + "found_owner: daniel\n", + "sample: 11.02.2026OBA HORTIFRUTI BRASILIA BR 142,23 0,00\n", + "\n", + "[robopato] create_lists: DONE\n", + "CONNECTED! \n", + "DONE!\n", + "DANIEL\n", + "[robopato] CONNECTED! \n", + "[robopato] [1, 'Daniel']\n", "[robopato] DONE!\n", - "[robopato] owner_name IZABELY\n", - "[robopato] owner_id 2\n", - "[robopato] linhas: 294\n", + "[robopato] owner_name DANIEL\n", + "[robopato] owner_id 1\n", + "[robopato] linhas: 212\n", " 1 - DANIEL O CARVALHO \n", "\n", "found_owner: daniel\n", - " 4 - IZABELY C NORMANDO \n", + "sample: 15.10.2025GRUPO FARTURA DE HORTI BRASILIA BR 160,43 0,00\n", "\n", - "found_owner: izabely\n", "[robopato] create_lists: DONE\n", - "CONNECTED! \n", + "CONNECTED! \n", "DONE!\n", - "[robopato] CONNECTED! \n", - "[robopato] [1, 'DANIEL']\n", + "DANIEL\n", + "[robopato] CONNECTED! \n", + "[robopato] [1, 'Daniel']\n", "[robopato] DONE!\n", "[robopato] owner_name DANIEL\n", "[robopato] owner_id 1\n", - "[robopato] CONNECTED! \n", - "[robopato] [2, 'IZABELY']\n", + "[robopato] linhas: 192\n", + " 1 - DANIEL O CARVALHO \n", + "\n", + "found_owner: daniel\n", + "sample: 17.09.2025ZP *CANTINAGOODLANCHEV Brasilia BR 105,00 0,00\n", + "\n", + "[robopato] create_lists: DONE\n", + "CONNECTED! \n", + "DONE!\n", + "DANIEL\n", + "[robopato] CONNECTED! \n", + "[robopato] [1, 'Daniel']\n", "[robopato] DONE!\n", - "[robopato] owner_name IZABELY\n", - "[robopato] owner_id 2\n", - "[robopato] linhas: 134\n", + "[robopato] owner_name DANIEL\n", + "[robopato] owner_id 1\n", + "[robopato] linhas: 158\n", " 1-DANIEL O C \n", "\n", "found_owner: daniel\n", - " 4-IZABELY C \n", + "sample: 15/07 VELOE*Daniel de O BARUERI BR 50,00 0,00\n", "\n", - "found_owner: izabely\n", "[robopato] create_lists: DONE\n", - "CONNECTED! \n", + "CONNECTED! \n", "DONE!\n", - "[robopato] CONNECTED! \n", - "[robopato] [1, 'DANIEL']\n", + "DANIEL\n", + "[robopato] CONNECTED! \n", + "[robopato] [1, 'Daniel']\n", "[robopato] DONE!\n", "[robopato] owner_name DANIEL\n", "[robopato] owner_id 1\n", - "[robopato] CONNECTED! \n", - "[robopato] [2, 'IZABELY']\n", - "[robopato] DONE!\n", - "[robopato] owner_name IZABELY\n", - "[robopato] owner_id 2\n", - "[robopato] linhas: 282\n", + "[robopato] linhas: 188\n", " 1 - DANIEL O CARVALHO \n", "\n", "found_owner: daniel\n", - " 4 - IZABELY C NORMANDO \n", + "sample: 14.08.2025ECB SUDOESTE BRASILIA BR 500,00 0,00\n", "\n", - "found_owner: izabely\n", "[robopato] create_lists: DONE\n", - "CONNECTED! \n", + "CONNECTED! \n", "DONE!\n", "EXECUTOR COMPLETED.\n" ] @@ -2075,7 +623,7 @@ ], "metadata": { "kernelspec": { - "display_name": "base", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -2089,7 +637,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.7" + "version": "3.14.0" } }, "nbformat": 4, diff --git a/clickhouse.sql b/sql/clickhouse.sql similarity index 91% rename from clickhouse.sql rename to sql/clickhouse.sql index 086aac2..b954c7a 100644 --- a/clickhouse.sql +++ b/sql/clickhouse.sql @@ -1,16 +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 +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/queries.sql b/sql/queries.sql similarity index 95% rename from queries.sql rename to sql/queries.sql index b08fccb..6a2a95b 100644 --- a/queries.sql +++ b/sql/queries.sql @@ -1,19 +1,19 @@ -SELECT NOW(); - -TRUNCATE TABLE `default`.`TRANSACTION`; - -UPDATE `TRANSACTION` SET MEMO = TRIM(MEMO) - -ALTER TABLE `default`.SUBCATEGORY MODIFY COLUMN UPDATED datetime ON UPDATE CURRENT_TIMESTAMP NULL; - -SELECT * FROM `default`.`TRANSACTION` t WHERE INSTALLMENT_TT IS NOT NULL; - -SELECT * FROM `default`.`TRANSACTION` t WHERE t.ID NOT IN default.CATEGORIZED_TRANSACTIONS.ID; - -SELECT * -FROM TRANSACTION t -LEFT JOIN CATEGORIZED_TRANSACTIONS ct -ON t.ID = ct.TRANSACTION_ID -WHERE ct.TRANSACTION_ID IS NULL; - +SELECT NOW(); + +TRUNCATE TABLE `default`.`TRANSACTION`; + +UPDATE `TRANSACTION` SET MEMO = TRIM(MEMO) + +ALTER TABLE `default`.SUBCATEGORY MODIFY COLUMN UPDATED datetime ON UPDATE CURRENT_TIMESTAMP NULL; + +SELECT * FROM `default`.`TRANSACTION` t WHERE INSTALLMENT_TT IS NOT NULL; + +SELECT * FROM `default`.`TRANSACTION` t WHERE t.ID NOT IN default.CATEGORIZED_TRANSACTIONS.ID; + +SELECT * +FROM TRANSACTION t +LEFT JOIN CATEGORIZED_TRANSACTIONS ct +ON t.ID = ct.TRANSACTION_ID +WHERE ct.TRANSACTION_ID IS NULL; + SELECT * FROM default.TRANSACTION t LEFT JOIN default.CATEGORIZED_TRANSACTIONS ct ON t.ID = ct.TRANSACTION_ID WHERE ct.TRANSACTION_ID IS NULL; \ No newline at end of file diff --git a/robopato.sql b/sql/robopato.sql similarity index 100% rename from robopato.sql rename to sql/robopato.sql