{ "cells": [ { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "DONE\n" ] } ], "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\")" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "def find_owner(queried_name: str):\n", " from mysql.connector import connect, Error\n", "\n", " query = \"SELECT * FROM OWNER\"\n", " result = []\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(\"[robopato] CONNECTED!\", connection)\n", " with connection.cursor() as cursor:\n", " cursor.execute(query)\n", " query_result = cursor.fetchall()\n", "\n", " for item in query_result:\n", " if item[1].lower() == queried_name:\n", " result.append(item[0])\n", " result.append(item[1])\n", " print(\"[robopato] \", result)\n", " print(\"[robopato] DONE!\")\n", " except Error as e:\n", " print(e)\n", " finally:\n", " connection.close()\n", "\n", " return result if result else None" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "# Tests\n", "# find_owner(\"daniel\")[0]\n", "# find_owner(\"izabely\")[0]" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "def create_lists(file_name: str, bill: str):\n", " import re\n", "\n", " # Open the text 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\"\\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", "\n", " # Lists\n", " current_list = None\n", " owner_list = []\n", " result = {}\n", "\n", " line_counter = 0\n", " isPartial = True\n", "\n", " # Find Owners\n", " for line in contents:\n", " line_counter = line_counter + 1\n", "\n", " 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", " result[list_name][\"owner_name\"] = owner_name\n", " result[list_name][\"owner_id\"] = find_owner(owner_name.lower())[0]\n", " result[list_name][\"bill\"] = bill\n", " print(\"[robopato] owner_name\", result[list_name][\"owner_name\"])\n", " print(\"[robopato] owner_id\", result[list_name][\"owner_id\"])\n", "\n", " print(\"[robopato] linhas: \", line_counter)\n", "\n", " # Treat and create transaction lists\n", " counter2 = 0\n", " for line in contents:\n", " counter2 = counter2 + 1\n", "\n", " if re.search(owner_pattern, line):\n", " found_owner = re.search(owner_pattern, line)\n", " print(line)\n", " print(\"found_owner: \", found_owner.group(1).lower())\n", " owner_list = f\"list_{found_owner.group(1).lower()}\"\n", " current_list = owner_list\n", " result[current_list][\"tlist\"] = []\n", "\n", " 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", " result[current_list][\"tlist\"].append(line)\n", "\n", "\n", " # Check file pattern\n", " if current_list:\n", " sample = result[current_list][\"tlist\"][0]\n", " if re.search(line_pattern, sample):\n", " isPartial = False\n", "\n", " for listObj in result:\n", " result[listObj][\"isPartial\"] = isPartial\n", "\n", " print(\"[robopato] create_lists: DONE\")\n", "\n", " return result" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "# Test\n", "# create_lists(\"./documents/OUROCARD_VISA_INFINITE-Abr_24.txt\", \"Próxima Fatura\")" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "def build_insert(input_dict: dict, account: int):\n", " from datetime import date, datetime\n", " from decimal import Decimal\n", " import re\n", " import hashlib\n", "\n", " insert_bulk = []\n", "\n", " # RegEx Patterns\n", " line_group_pattern = r\"(?P\\d{2})\\.(?P\\d{2})\\.(?P\\d{4})(?:(?P.+PARC (?P\\d+.)\\/(?P\\d+)\\s.{12})|(?P.{37}))(?P.{2})(?P\\s*-?\\d*\\.?\\d+,\\d{2})(?P\\s*\\d*\\.?\\d+,\\d{2})\"\n", " partial_invoice_group_pattern = r\"(?P\\d{2})\\/(?P\\d{2})(?:(?P.+PARC (?P\\d{2})\\/(?P\\d{2}).{15})|(?P.{43}))(?P.{2})(?P\\s+\\s*-?\\d*\\.?\\d+,\\d{2})(?P\\s*\\d+,\\d{2})\"\n", " payment_pattern = r\"(?P\\d{2})\\.(?P\\d{2})\\.(?P\\d{4})(?PPGTO DEBITO CONTA).*200211(?P\\s*-?\\d*\\.?\\d+,\\d{2})(?P\\s*\\d+,\\d{2})\"\n", "\n", " for key in input_dict:\n", " if input_dict[key][\"isPartial\"]:\n", " pattern_to_use = partial_invoice_group_pattern\n", " else:\n", " pattern_to_use = line_group_pattern\n", "\n", " for item in input_dict[key][\"tlist\"]:\n", " # check if it is an invoice payment\n", " matches = re.match(payment_pattern, item)\n", " if matches:\n", " tTdate = str(\n", " date(\n", " int(matches.group(\"year\")),\n", " int(matches.group(\"month\")),\n", " int(matches.group(\"day\")),\n", " )\n", " )\n", " tAccount = account\n", " tMemo = matches.group(\"memo\")\n", " tCountry = None\n", " tOutflow = \"0.00\"\n", " tInflow = matches.group(\"inflow\").strip().replace(\".\", \"\").replace(\",\", \".\").replace(\"-\", \"\")\n", " tOwner = input_dict[key][\"owner_id\"]\n", " tInstallmentNr = None\n", " tInstallmentTt = None\n", " tBill = input_dict[key][\"bill\"]\n", " tCreated = str(datetime.now(tz=None))\n", " tUpdated = None\n", " else:\n", " matches = re.match(pattern_to_use, item)\n", " 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", " int(matches.group(\"month\")),\n", " int(matches.group(\"day\")),\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", "\n", " tCountry = matches.group(\"country\")\n", " tOutflow = matches.group(\"outflow\").strip().replace(\".\", \"\").replace(\",\", \".\")\n", " tInflow = matches.group(\"inflow\").strip().replace(\".\", \"\").replace(\",\", \".\")\n", " tOwner = input_dict[key][\"owner_id\"]\n", " tBill = input_dict[key][\"bill\"]\n", "\n", " tCreated = str(datetime.now(tz=None))\n", " tUpdated = None\n", "\n", " preHash = tTdate + tMemo + tOutflow + tInflow\n", " tId = hashlib.sha256(preHash.encode()).hexdigest()\n", "\n", " if matches.group(\"memo\") != \"Saldo Anterior\":\n", " insert_bulk.append(\n", " (\n", " tId,\n", " tTdate,\n", " tAccount,\n", " tMemo.strip(),\n", " tCountry,\n", " tOutflow,\n", " tInflow,\n", " tOwner,\n", " tInstallmentNr,\n", " tInstallmentTt,\n", " tBill,\n", " tCreated,\n", " tUpdated,\n", " )\n", " )\n", "\n", " return insert_bulk" ] }, { "cell_type": "code", "execution_count": 20, "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" } ], "source": [ "# Test\n", "build_insert(create_lists(\"./documents/OUROCARD_VISA_INFINITE-Abr_24.txt\", \"Próxima Fatura\"), 2)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "def db_insert(insert_bulk: list[tuple]):\n", " from mysql.connector import connect, Error\n", "\n", " try:\n", " with connect(\n", " host=\"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, insert_bulk)\n", " connection.commit()\n", " print(\"DONE!\")\n", " except Error as e:\n", " print(e)\n", " finally:\n", " connection.close()" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "def executor():\n", "\n", " from pathlib import Path\n", "\n", " file_path = Path(\".\") / \"documents\"\n", "\n", " matched_files = file_path.glob(\"OUROCARD*.txt\")\n", "\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", " print(\"EXECUTOR COMPLETED.\")" ] }, { "cell_type": "code", "execution_count": 23, "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", "CONNECTED! \n", "DONE!\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", " 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", "CONNECTED! \n", "DONE!\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", " 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", "CONNECTED! \n", "DONE!\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", " 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", "CONNECTED! \n", "DONE!\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", " 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", "CONNECTED! \n", "DONE!\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", " 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", "CONNECTED! \n", "DONE!\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", " 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", "CONNECTED! \n", "DONE!\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", " 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", "CONNECTED! \n", "DONE!\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", " 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", "CONNECTED! \n", "DONE!\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: 310\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", "CONNECTED! \n", "DONE!\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: 294\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", "CONNECTED! \n", "DONE!\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: 134\n", " 1-DANIEL O C \n", "\n", "found_owner: daniel\n", " 4-IZABELY C \n", "\n", "found_owner: izabely\n", "[robopato] create_lists: DONE\n", "CONNECTED! \n", "DONE!\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", " 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", "CONNECTED! \n", "DONE!\n", "EXECUTOR COMPLETED.\n" ] } ], "source": [ "executor()" ] } ], "metadata": { "kernelspec": { "display_name": "base", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.7" } }, "nbformat": 4, "nbformat_minor": 2 }