{"id":34659,"date":"2026-02-21T10:27:00","date_gmt":"2026-02-21T15:27:00","guid":{"rendered":"https:\/\/geekine.com\/?p=34659"},"modified":"2026-02-10T10:51:38","modified_gmt":"2026-02-10T15:51:38","slug":"automatize-seu-escritorio-5-scripts-python-para-sair-do-escritorio-mais-cedo-com-codigo-incluido","status":"publish","type":"post","link":"https:\/\/geekine.com\/pt\/automatize-seu-escritorio-5-scripts-python-para-sair-do-escritorio-mais-cedo-com-codigo-incluido\/","title":{"rendered":"Automatize seu escrit\u00f3rio: 5 scripts Python para sair mais cedo do trabalho com c\u00f3digo inclu\u00eddo"},"content":{"rendered":"<p data-path-to-node=\"9\">El trabajo de oficina moderno tiene un sucio secreto: el 40% del tiempo lo pasamos moviendo datos de la Ventana A a la Ventana B. Es el infierno del &#8220;Ctrl+C, Ctrl+V&#8221;.<\/p>\n<p data-path-to-node=\"10\">Si pasas m\u00e1s de 15 minutos al d\u00eda haciendo una tarea repetitiva que no requiere que tu cerebro est\u00e9 encendido, <b data-path-to-node=\"10\" data-index-in-node=\"111\">est\u00e1s perdiendo dinero y neuronas<\/b>.<\/p>\n<p data-path-to-node=\"11\">Bill Gates dijo una vez que elegir\u00eda a una persona vaga para hacer un trabajo dif\u00edcil porque &#8220;encontrar\u00e1 una manera f\u00e1cil de hacerlo&#8221;. Esa manera f\u00e1cil, hoy en d\u00eda, se llama <a href=\"https:\/\/xuo.us\/yFDgt\" target=\"_blank\" rel=\"nofollow noopener noreferrer external\" data-original-href=\"https:\/\/python.org\/\"><b data-path-to-node=\"11\" data-index-in-node=\"174\">Python<\/b><\/a>. No necesitas ser un ingeniero de software de Silicon Valley ni tener una sudadera con capucha oscura. Solo necesitas perderle el miedo a la terminal y tener ganas de salir a tu hora (o antes).<\/p>\n<p data-path-to-node=\"12\"><b data-path-to-node=\"12\" data-index-in-node=\"0\">\u00bfQu\u00e9 es la automatizaci\u00f3n con Python en este contexto?<\/b> B\u00e1sicamente, es escribir peque\u00f1os &#8220;robots&#8221; de texto (scripts) que leen archivos, env\u00edan correos o raspan webs mientras t\u00fa te tomas un caf\u00e9 y miras c\u00f3mo la pantalla trabaja sola. Es magia negra corporativa.<\/p>\n<blockquote data-path-to-node=\"13\">\n<p data-path-to-node=\"13,0\"><b data-path-to-node=\"13,0\" data-index-in-node=\"0\">\u26a0\ufe0f Nota del Arquitecto:<\/b> Todo el c\u00f3digo que ver\u00e1s abajo usa librer\u00edas est\u00e1ndar o muy populares (<code data-path-to-node=\"13,0\" data-index-in-node=\"95\">pandas<\/code>, <code data-path-to-node=\"13,0\" data-index-in-node=\"103\">openpyxl<\/code>, <code data-path-to-node=\"13,0\" data-index-in-node=\"113\">yagmail<\/code>). No te asustes, te dir\u00e9 c\u00f3mo instalarlas.<\/p>\n<\/blockquote>\n<h2 data-path-to-node=\"15\">1. El Domador de Excel: Unificar 50 archivos en uno solo<\/h2>\n<p data-path-to-node=\"16\">El escenario cl\u00e1sico de pesadilla: Es fin de mes. Tienes 20 archivos de Excel, uno por cada departamento o d\u00eda, y tu jefe quiere un &#8220;Reporte Maestro&#8221;. Abrir, copiar, pegar, cerrar. Repetir 20 veces. \u00bfTe suena? Es una tortura medieval digital.<\/p>\n<p data-path-to-node=\"17\">Vamos a arreglar esto en 3 segundos. Literalmente.<\/p>\n<h3 data-path-to-node=\"18\">El C\u00f3digo Salvador<\/h3>\n<p data-path-to-node=\"19\">Necesitaremos la librer\u00eda <code data-path-to-node=\"19\" data-index-in-node=\"26\">pandas<\/code>, que es b\u00e1sicamente Excel con esteroides para Python.<\/p>\n<div class=\"code-block ng-tns-c1393962424-121 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwiSh9OXkaWSAxUAAAAAHQAAAAAQ6QE\">\n<div class=\"code-block-decoration header-formatted gds-title-s ng-tns-c1393962424-121 ng-star-inserted\">\n<p><span class=\"ng-tns-c1393962424-121\">Python<\/span><\/p>\n<div class=\"buttons ng-tns-c1393962424-121 ng-star-inserted\"><\/div>\n<\/div>\n<div class=\"formatted-code-block-internal-container ng-tns-c1393962424-121\">\n<div class=\"animated-opacity ng-tns-c1393962424-121\">\n<pre class=\"ng-tns-c1393962424-121\"><code class=\"code-container formatted ng-tns-c1393962424-121\" role=\"text\" data-test-id=\"code-content\"><span class=\"hljs-keyword\">import<\/span> pandas <span class=\"hljs-keyword\">as<\/span> pd\r\n<span class=\"hljs-keyword\">import<\/span> os\r\n<span class=\"hljs-keyword\">import<\/span> glob\r\n\r\n<span class=\"hljs-comment\"># Configuraci\u00f3n: D\u00f3nde est\u00e1n tus archivos del infierno<\/span>\r\nruta_carpeta = <span class=\"hljs-string\">'C:\/Usuarios\/TuUsuario\/Documentos\/ReportesMensuales\/'<\/span>\r\npatron = os.path.join(ruta_carpeta, <span class=\"hljs-string\">\"*.xlsx\"<\/span>)\r\n\r\n<span class=\"hljs-comment\"># La magia: Glob encuentra todos los excels y Pandas los lee<\/span>\r\narchivos = glob.glob(patron)\r\nlista_datos = []\r\n\r\nprint(<span class=\"hljs-string\">f\"\ud83d\udd04 Encontrados <span class=\"hljs-subst\">{<span class=\"hljs-built_in\">len<\/span>(archivos)}<\/span> archivos. Procesando...\"<\/span>)\r\n\r\n<span class=\"hljs-keyword\">for<\/span> archivo <span class=\"hljs-keyword\">in<\/span> archivos:\r\n    <span class=\"hljs-comment\"># Leemos cada excel. Si tiene cabeceras raras, ajusta 'header'<\/span>\r\n    df_temp = pd.read_excel(archivo)\r\n    <span class=\"hljs-comment\"># Opcional: A\u00f1adimos una columna para saber de qu\u00e9 archivo vino<\/span>\r\n    df_temp[<span class=\"hljs-string\">'Origen'<\/span>] = os.path.basename(archivo)\r\n    lista_datos.append(df_temp)\r\n\r\n<span class=\"hljs-comment\"># El gran final: Concatenamos todo en un solo bloque<\/span>\r\ndf_maestro = pd.concat(lista_datos, ignore_index=<span class=\"hljs-literal\">True<\/span>)\r\n\r\n<span class=\"hljs-comment\"># Guardamos el resultado y nos vamos a casa<\/span>\r\ndf_maestro.to_excel(<span class=\"hljs-string\">\"Reporte_Maestro_Final.xlsx\"<\/span>, index=<span class=\"hljs-literal\">False<\/span>)\r\nprint(<span class=\"hljs-string\">\"\u2705 \u00a1Listo! Reporte generado sin dolor.\"<\/span>)\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p data-path-to-node=\"21\"><b data-path-to-node=\"21\" data-index-in-node=\"0\">\u00bfPor qu\u00e9 funciona esto?<\/b> En lugar de depender de tus clics manuales (propensos a errores humanos), <code data-path-to-node=\"21\" data-index-in-node=\"98\">glob<\/code> busca todo lo que termine en <code data-path-to-node=\"21\" data-index-in-node=\"132\">.xlsx<\/code> y <code data-path-to-node=\"21\" data-index-in-node=\"140\">pandas<\/code> lo apila uno encima de otro. Da igual si son 5 archivos o 500. El script tarda lo mismo.<\/p>\n<h2 data-path-to-node=\"23\">2. El Cartero Incansable: Emails masivos (pero personalizados)<\/h2>\n<p data-path-to-node=\"24\">Enviar 100 correos a clientes con el asunto &#8220;Factura Adjunta&#8221; o &#8220;Feliz Navidad&#8221;. Si usas CCO (Copia Oculta), te vas a la carpeta de SPAM o pareces poco profesional. Si los mandas uno a uno, envejecer\u00e1s en la silla.<\/p>\n<p data-path-to-node=\"25\">Aqu\u00ed usamos <a href=\"https:\/\/geekine.com\/quieres-conseguir-empleo-como-programador-debes-aprender-alguno-de-estos-5-lenguajes\/\"><strong>Python<\/strong><\/a> para leer una lista de contactos y mandar correos personalizados. &#8220;Hola Juan&#8221;, &#8220;Hola Mar\u00eda&#8221;, no &#8220;Hola Cliente&#8221;.<\/p>\n<h3 data-path-to-node=\"26\">Requisitos previos<\/h3>\n<p data-path-to-node=\"27\">Para esto me gusta usar <code data-path-to-node=\"27\" data-index-in-node=\"24\">yagmail<\/code> porque simplifica la tortura que es configurar SMTP manualmente. (Ojo: Necesitar\u00e1s generar una &#8220;Contrase\u00f1a de Aplicaci\u00f3n&#8221; en tu cuenta de Gmail, no uses tu contrase\u00f1a normal).<\/p>\n<div class=\"code-block ng-tns-c1393962424-122 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwiSh9OXkaWSAxUAAAAAHQAAAAAQ6gE\">\n<div class=\"code-block-decoration header-formatted gds-title-s ng-tns-c1393962424-122 ng-star-inserted\">\n<p><span class=\"ng-tns-c1393962424-122\">Python<\/span><\/p>\n<div class=\"buttons ng-tns-c1393962424-122 ng-star-inserted\"><\/div>\n<\/div>\n<div class=\"formatted-code-block-internal-container ng-tns-c1393962424-122\">\n<div class=\"animated-opacity ng-tns-c1393962424-122\">\n<pre class=\"ng-tns-c1393962424-122\"><code class=\"code-container formatted ng-tns-c1393962424-122\" role=\"text\" data-test-id=\"code-content\"><span class=\"hljs-keyword\">import<\/span> yagmail\r\n<span class=\"hljs-keyword\">import<\/span> pandas <span class=\"hljs-keyword\">as<\/span> pd\r\n\r\n<span class=\"hljs-comment\"># 1. Conexi\u00f3n segura (usa tu App Password, \u00a1no la real!)<\/span>\r\nusuario = <span class=\"hljs-string\">\"tu_correo@gmail.com\"<\/span>\r\npassword = <span class=\"hljs-string\">\"tu_contrase\u00f1a_de_aplicacion\"<\/span>\r\n\r\nyag = yagmail.SMTP(usuario, password)\r\n\r\n<span class=\"hljs-comment\"># 2. Leemos la lista de v\u00edctimas (clientes)<\/span>\r\n<span class=\"hljs-comment\"># Asumimos que el Excel tiene columnas: 'Email', 'Nombre', 'Archivo'<\/span>\r\ncontactos = pd.read_excel(<span class=\"hljs-string\">\"lista_clientes.xlsx\"<\/span>)\r\n\r\n<span class=\"hljs-comment\"># 3. El bucle de env\u00edo<\/span>\r\n<span class=\"hljs-keyword\">for<\/span> index, row <span class=\"hljs-keyword\">in<\/span> contactos.iterrows():\r\n    destinatario = row[<span class=\"hljs-string\">'Email'<\/span>]\r\n    nombre = row[<span class=\"hljs-string\">'Nombre'<\/span>]\r\n    archivo_adjunto = row[<span class=\"hljs-string\">'Archivo'<\/span>] <span class=\"hljs-comment\"># Ruta al PDF espec\u00edfico<\/span>\r\n    \r\n    asunto = <span class=\"hljs-string\">f\"Factura pendiente para <span class=\"hljs-subst\">{nombre}<\/span>\"<\/span>\r\n    cuerpo = [\r\n        <span class=\"hljs-string\">f\"Hola <span class=\"hljs-subst\">{nombre}<\/span>,\"<\/span>,\r\n        <span class=\"hljs-string\">\"Espero que est\u00e9s genial.\"<\/span>,\r\n        <span class=\"hljs-string\">\"Te adjunto la factura de este mes. Por favor, rev\u00edsala cuando puedas.\"<\/span>,\r\n        <span class=\"hljs-string\">\"Un saludo geek.\"<\/span>\r\n    ]\r\n    \r\n    <span class=\"hljs-keyword\">try<\/span>:\r\n        yag.send(to=destinatario, subject=asunto, contents=cuerpo, attachments=archivo_adjunto)\r\n        print(<span class=\"hljs-string\">f\"\ud83d\udce9 Correo enviado a <span class=\"hljs-subst\">{nombre}<\/span>\"<\/span>)\r\n    <span class=\"hljs-keyword\">except<\/span> Exception <span class=\"hljs-keyword\">as<\/span> e:\r\n        print(<span class=\"hljs-string\">f\"\u274c Error con <span class=\"hljs-subst\">{nombre}<\/span>: <span class=\"hljs-subst\">{e}<\/span>\"<\/span>)\r\n\r\nprint(<span class=\"hljs-string\">\"\ud83d\ude80 Misi\u00f3n cumplida.\"<\/span>)\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p data-path-to-node=\"29\"><b data-path-to-node=\"29\" data-index-in-node=\"0\">El diablo est\u00e1 en los detalles:<\/b> F\u00edjate c\u00f3mo el script puede incluso adjuntar un archivo diferente para cada persona si tienes la ruta en tu Excel. Intenta hacer eso con Outlook sin querer tirar el ordenador por la ventana.<\/p>\n<figure id=\"attachment_34898\" aria-describedby=\"caption-attachment-34898\" style=\"width: 620px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-34898\" src=\"https:\/\/geekine.com\/wp-content\/uploads\/2026\/01\/Automatiza-tu-Oficina-5-Scripts-de-Python-para-Salir-Antes-del-Trabajo-con-el-Codigo-Incluido-620x349.png\" alt=\"Automatiza tu Oficina 5 Scripts de Python para Salir Antes del Trabajo con el C\u00f3digo Incluido\" width=\"620\" height=\"349\" srcset=\"https:\/\/geekine.com\/wp-content\/uploads\/2026\/01\/Automatiza-tu-Oficina-5-Scripts-de-Python-para-Salir-Antes-del-Trabajo-con-el-Codigo-Incluido-620x349.png 620w, https:\/\/geekine.com\/wp-content\/uploads\/2026\/01\/Automatiza-tu-Oficina-5-Scripts-de-Python-para-Salir-Antes-del-Trabajo-con-el-Codigo-Incluido-768x432.png 768w, https:\/\/geekine.com\/wp-content\/uploads\/2026\/01\/Automatiza-tu-Oficina-5-Scripts-de-Python-para-Salir-Antes-del-Trabajo-con-el-Codigo-Incluido-18x10.png 18w, https:\/\/geekine.com\/wp-content\/uploads\/2026\/01\/Automatiza-tu-Oficina-5-Scripts-de-Python-para-Salir-Antes-del-Trabajo-con-el-Codigo-Incluido-860x484.png 860w, https:\/\/geekine.com\/wp-content\/uploads\/2026\/01\/Automatiza-tu-Oficina-5-Scripts-de-Python-para-Salir-Antes-del-Trabajo-con-el-Codigo-Incluido.png 1200w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\" \/><figcaption id=\"caption-attachment-34898\" class=\"wp-caption-text\">Python un lenguaje sencillo y muy pr\u00e1ctico con el que puedes interactuar con otras aplicaciones. | Imagen: Pexels<\/figcaption><\/figure>\n<h2 data-path-to-node=\"31\">3. El Organizador de Caos: Limpiar tu carpeta de &#8220;Descargas&#8221;<\/h2>\n<p data-path-to-node=\"32\">Tu carpeta de Descargas es un vertedero. Lo s\u00e9, la m\u00eda tambi\u00e9n. PDFs, instaladores <code data-path-to-node=\"32\" data-index-in-node=\"83\">.exe<\/code>, im\u00e1genes <code data-path-to-node=\"32\" data-index-in-node=\"98\">.jpg<\/code>, zips&#8230; todo mezclado en una org\u00eda de desorden digital. Cuando buscas algo, pierdes 5 minutos haciendo scroll.<\/p>\n<p data-path-to-node=\"33\">Este script es tu conserje digital. Clasifica los archivos en carpetas seg\u00fan su extensi\u00f3n. Ejec\u00fatalo una vez a la semana y siente la paz mental.<\/p>\n<div class=\"code-block ng-tns-c1393962424-123 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwiSh9OXkaWSAxUAAAAAHQAAAAAQ6wE\">\n<div class=\"code-block-decoration header-formatted gds-title-s ng-tns-c1393962424-123 ng-star-inserted\">\n<p><span class=\"ng-tns-c1393962424-123\">Python<\/span><\/p>\n<div class=\"buttons ng-tns-c1393962424-123 ng-star-inserted\"><\/div>\n<\/div>\n<div class=\"formatted-code-block-internal-container ng-tns-c1393962424-123\">\n<div class=\"animated-opacity ng-tns-c1393962424-123\">\n<pre class=\"ng-tns-c1393962424-123\"><code class=\"code-container formatted ng-tns-c1393962424-123\" role=\"text\" data-test-id=\"code-content\"><span class=\"hljs-keyword\">import<\/span> os\r\n<span class=\"hljs-keyword\">import<\/span> shutil\r\n\r\n<span class=\"hljs-comment\"># La zona de guerra<\/span>\r\ndownloads_folder = <span class=\"hljs-string\">'C:\/Usuarios\/TuUsuario\/Downloads\/'<\/span>\r\n\r\n<span class=\"hljs-comment\"># Mapeo de extensiones a carpetas<\/span>\r\nextensiones = {\r\n    <span class=\"hljs-string\">'Imagenes'<\/span>: [<span class=\"hljs-string\">'.jpg'<\/span>, <span class=\"hljs-string\">'.jpeg'<\/span>, <span class=\"hljs-string\">'.png'<\/span>, <span class=\"hljs-string\">'.gif'<\/span>, <span class=\"hljs-string\">'.svg'<\/span>],\r\n    <span class=\"hljs-string\">'Documentos'<\/span>: [<span class=\"hljs-string\">'.pdf'<\/span>, <span class=\"hljs-string\">'.docx'<\/span>, <span class=\"hljs-string\">'.txt'<\/span>, <span class=\"hljs-string\">'.pptx'<\/span>, <span class=\"hljs-string\">'.xlsx'<\/span>],\r\n    <span class=\"hljs-string\">'Instaladores'<\/span>: [<span class=\"hljs-string\">'.exe'<\/span>, <span class=\"hljs-string\">'.msi'<\/span>, <span class=\"hljs-string\">'.dmg'<\/span>],\r\n    <span class=\"hljs-string\">'Comprimidos'<\/span>: [<span class=\"hljs-string\">'.zip'<\/span>, <span class=\"hljs-string\">'.rar'<\/span>, <span class=\"hljs-string\">'.7z'<\/span>]\r\n}\r\n\r\n<span class=\"hljs-keyword\">for<\/span> filename <span class=\"hljs-keyword\">in<\/span> os.listdir(downloads_folder):\r\n    original_path = os.path.join(downloads_folder, filename)\r\n    \r\n    <span class=\"hljs-comment\"># Ignoramos carpetas, solo movemos archivos<\/span>\r\n    <span class=\"hljs-keyword\">if<\/span> os.path.isdir(original_path):\r\n        <span class=\"hljs-keyword\">continue<\/span>\r\n\r\n    <span class=\"hljs-comment\"># Obtenemos la extensi\u00f3n<\/span>\r\n    _, ext = os.path.splitext(filename)\r\n    \r\n    <span class=\"hljs-comment\"># Buscamos a d\u00f3nde pertenece<\/span>\r\n    moved = <span class=\"hljs-literal\">False<\/span>\r\n    <span class=\"hljs-keyword\">for<\/span> carpeta, exts_validas <span class=\"hljs-keyword\">in<\/span> extensiones.items():\r\n        <span class=\"hljs-keyword\">if<\/span> ext.lower() <span class=\"hljs-keyword\">in<\/span> exts_validas:\r\n            <span class=\"hljs-comment\"># Crear carpeta destino si no existe<\/span>\r\n            target_folder = os.path.join(downloads_folder, carpeta)\r\n            os.makedirs(target_folder, exist_ok=<span class=\"hljs-literal\">True<\/span>)\r\n            \r\n            <span class=\"hljs-comment\"># Mover el trasto<\/span>\r\n            shutil.move(original_path, os.path.join(target_folder, filename))\r\n            print(<span class=\"hljs-string\">f\"\ud83d\udce6 Movido <span class=\"hljs-subst\">{filename}<\/span> a <span class=\"hljs-subst\">{carpeta}<\/span>\"<\/span>)\r\n            moved = <span class=\"hljs-literal\">True<\/span>\r\n            <span class=\"hljs-keyword\">break<\/span>\r\n            \r\n    <span class=\"hljs-keyword\">if<\/span> <span class=\"hljs-keyword\">not<\/span> moved:\r\n        <span class=\"hljs-comment\"># Opcional: Mover lo desconocido a una carpeta \"Otros\"<\/span>\r\n        print(<span class=\"hljs-string\">f\"\ud83e\udd14 <span class=\"hljs-subst\">{filename}<\/span> no tiene categor\u00eda, se queda ah\u00ed.\"<\/span>)\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<h2 data-path-to-node=\"36\">4. El Esp\u00eda Web: Monitorizar precios o cambios en webs<\/h2>\n<p data-path-to-node=\"37\">\u00bfTu trabajo implica revisar si la competencia cambi\u00f3 un precio? \u00bfO quiz\u00e1s necesitas saber cu\u00e1ndo el gobierno publica una nueva normativa en su web arcaica? No le des F5 todo el d\u00eda.<\/p>\n<p data-path-to-node=\"38\">Usaremos <code data-path-to-node=\"38\" data-index-in-node=\"9\">requests<\/code> y <code data-path-to-node=\"38\" data-index-in-node=\"20\">BeautifulSoup<\/code> para crear un centinela que mire por ti.<\/p>\n<blockquote data-path-to-node=\"39\">\n<p data-path-to-node=\"39,0\"><b data-path-to-node=\"39,0\" data-index-in-node=\"0\">\u26a0\ufe0f Advertencia:<\/b> El web scraping es legal, pero respeta los t\u00e9rminos de servicio de las webs. No lances esto cada 0.1 segundos o te bloquear\u00e1n la IP (y con raz\u00f3n).<\/p>\n<\/blockquote>\n<div class=\"code-block ng-tns-c1393962424-124 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwiSh9OXkaWSAxUAAAAAHQAAAAAQ7AE\">\n<div class=\"code-block-decoration header-formatted gds-title-s ng-tns-c1393962424-124 ng-star-inserted\">\n<p><span class=\"ng-tns-c1393962424-124\">Python<\/span><\/p>\n<div class=\"buttons ng-tns-c1393962424-124 ng-star-inserted\"><\/div>\n<\/div>\n<div class=\"formatted-code-block-internal-container ng-tns-c1393962424-124\">\n<div class=\"animated-opacity ng-tns-c1393962424-124\">\n<pre class=\"ng-tns-c1393962424-124\"><code class=\"code-container formatted ng-tns-c1393962424-124\" role=\"text\" data-test-id=\"code-content\"><span class=\"hljs-keyword\">import<\/span> requests\r\n<span class=\"hljs-keyword\">from<\/span> bs4 <span class=\"hljs-keyword\">import<\/span> BeautifulSoup\r\n<span class=\"hljs-keyword\">import<\/span> time\r\n<span class=\"hljs-keyword\">from<\/span> datetime <span class=\"hljs-keyword\">import<\/span> datetime\r\n\r\nurl_objetivo = <span class=\"hljs-string\">\"https:\/\/www.competencia-ejemplo.com\/producto-x\"<\/span>\r\nprecio_objetivo = <span class=\"hljs-number\">500<\/span> <span class=\"hljs-comment\"># Si baja de esto, av\u00edsame<\/span>\r\n\r\n<span class=\"hljs-function\"><span class=\"hljs-keyword\">def<\/span> <span class=\"hljs-title\">revisar_precio<\/span>():<\/span>\r\n    headers = {<span class=\"hljs-string\">\"User-Agent\"<\/span>: <span class=\"hljs-string\">\"Mozilla\/5.0\"<\/span>} <span class=\"hljs-comment\"># Para no parecer un bot tonto<\/span>\r\n    respuesta = requests.get(url_objetivo, headers=headers)\r\n    \r\n    soup = BeautifulSoup(respuesta.text, <span class=\"hljs-string\">'html.parser'<\/span>)\r\n    \r\n    <span class=\"hljs-comment\"># Aqu\u00ed debes inspeccionar la web para buscar la clase del precio<\/span>\r\n    <span class=\"hljs-comment\"># Supongamos que es un &lt;span class=\"precio-actual\"&gt;<\/span>\r\n    precio_texto = soup.find(<span class=\"hljs-string\">'span'<\/span>, class_=<span class=\"hljs-string\">'precio-actual'<\/span>).text\r\n    \r\n    <span class=\"hljs-comment\"># Limpieza de datos (quitar el signo $ o \u20ac)<\/span>\r\n    precio_limpio = <span class=\"hljs-built_in\">float<\/span>(precio_texto.replace(<span class=\"hljs-string\">'$'<\/span>, <span class=\"hljs-string\">''<\/span>).replace(<span class=\"hljs-string\">','<\/span>, <span class=\"hljs-string\">''<\/span>))\r\n    \r\n    print(<span class=\"hljs-string\">f\"[<span class=\"hljs-subst\">{datetime.now()}<\/span>] Precio actual: <span class=\"hljs-subst\">{precio_limpio}<\/span>\"<\/span>)\r\n    \r\n    <span class=\"hljs-keyword\">if<\/span> precio_limpio &lt; precio_objetivo:\r\n        print(<span class=\"hljs-string\">\"\ud83d\udea8 \u00a1ALERTA! EL PRECIO HA BAJADO. \u00a1COMPRA O AVISA AL JEFE!\"<\/span>)\r\n        <span class=\"hljs-comment\"># Aqu\u00ed podr\u00edas meter el c\u00f3digo de enviar email del punto 2<\/span>\r\n    <span class=\"hljs-keyword\">else<\/span>:\r\n        print(<span class=\"hljs-string\">\"\ud83d\ude34 Todo sigue igual...\"<\/span>)\r\n\r\n<span class=\"hljs-comment\"># Ejecutar una vez<\/span>\r\nrevisar_precio()\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<h2 data-path-to-node=\"42\">5. El Cirujano de PDFs: Fusionar y extraer p\u00e1ginas<\/h2>\n<p data-path-to-node=\"43\">A veces necesitas unir el contrato firmado (P\u00e1gina 1) con los t\u00e9rminos y condiciones (P\u00e1ginas 2-10) que est\u00e1n en otro archivo. Adobe te cobra una suscripci\u00f3n mensual por hacer esto. <strong><a href=\"https:\/\/geekine.com\/conoce-como-influyo-en-python-el-lenguaje-de-programacion-abc\/\">Python<\/a><\/strong> lo hace gratis.<\/p>\n<p data-path-to-node=\"44\">Usaremos <code data-path-to-node=\"44\" data-index-in-node=\"9\">pypdf<\/code> (la versi\u00f3n moderna de PyPDF2).<\/p>\n<div class=\"code-block ng-tns-c1393962424-125 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwiSh9OXkaWSAxUAAAAAHQAAAAAQ7QE\">\n<div class=\"code-block-decoration header-formatted gds-title-s ng-tns-c1393962424-125 ng-star-inserted\">\n<p><span class=\"ng-tns-c1393962424-125\">Python<\/span><\/p>\n<div class=\"buttons ng-tns-c1393962424-125 ng-star-inserted\"><\/div>\n<\/div>\n<div class=\"formatted-code-block-internal-container ng-tns-c1393962424-125\">\n<div class=\"animated-opacity ng-tns-c1393962424-125\">\n<pre class=\"ng-tns-c1393962424-125\"><code class=\"code-container formatted ng-tns-c1393962424-125\" role=\"text\" data-test-id=\"code-content\"><span class=\"hljs-keyword\">from<\/span> pypdf <span class=\"hljs-keyword\">import<\/span> PdfWriter\r\n<span class=\"hljs-keyword\">import<\/span> os\r\n\r\n<span class=\"hljs-comment\"># Lista de PDFs en el orden que los quieres<\/span>\r\npdfs_a_unir = [<span class=\"hljs-string\">\"Portada.pdf\"<\/span>, <span class=\"hljs-string\">\"Contrato_Cuerpo.pdf\"<\/span>, <span class=\"hljs-string\">\"Anexos.pdf\"<\/span>]\r\nnombre_salida = <span class=\"hljs-string\">\"Contrato_Completo_Firmado.pdf\"<\/span>\r\n\r\nfusionador = PdfWriter()\r\n\r\n<span class=\"hljs-keyword\">for<\/span> pdf <span class=\"hljs-keyword\">in<\/span> pdfs_a_unir:\r\n    <span class=\"hljs-comment\"># A\u00f1ade cada PDF entero al final<\/span>\r\n    fusionador.append(pdf)\r\n\r\n<span class=\"hljs-comment\"># Escribir el resultado<\/span>\r\n<span class=\"hljs-keyword\">with<\/span> <span class=\"hljs-built_in\">open<\/span>(nombre_salida, <span class=\"hljs-string\">\"wb\"<\/span>) <span class=\"hljs-keyword\">as<\/span> salida:\r\n    fusionador.write(salida)\r\n\r\nprint(<span class=\"hljs-string\">f\"\ud83d\udcd1 \u00a1Hecho! Has creado <span class=\"hljs-subst\">{nombre_salida}<\/span> sin pagar Adobe Pro.\"<\/span>)\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<h2 data-path-to-node=\"47\">\u00bfC\u00f3mo ejecuto todo esto si no soy programador?<\/h2>\n<p data-path-to-node=\"48\">No te voy a mentir diciendo que es hacer clic y ya, pero casi. Sigue estos 3 pasos y ser\u00e1s el hacker de la oficina:<\/p>\n<ol start=\"1\" data-path-to-node=\"49\">\n<li>\n<p data-path-to-node=\"49,0,0\"><b data-path-to-node=\"49,0,0\" data-index-in-node=\"0\">Instala Python:<\/b> Ve a python.org, descarga la \u00faltima versi\u00f3n y, MUY IMPORTANTE, marca la casilla que dice <b data-path-to-node=\"49,0,0\" data-index-in-node=\"105\">&#8220;Add Python to PATH&#8221;<\/b> durante la instalaci\u00f3n. Si no lo haces, nada funcionar\u00e1 y llorar\u00e1s.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"49,1,0\"><b data-path-to-node=\"49,1,0\" data-index-in-node=\"0\">Instala las librer\u00edas:<\/b> Abre tu terminal (CMD o PowerShell) y escribe esto como si fueras Neo en Matrix: <code data-path-to-node=\"49,1,0\" data-index-in-node=\"104\">pip install pandas openpyxl yagmail requests beautifulsoup4 pypdf<\/code><\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"49,2,0\"><b data-path-to-node=\"49,2,0\" data-index-in-node=\"0\">Ejecuta el script:<\/b> Guarda el c\u00f3digo en un archivo de texto con extensi\u00f3n <code data-path-to-node=\"49,2,0\" data-index-in-node=\"73\">.py<\/code> (ejemplo: <code data-path-to-node=\"49,2,0\" data-index-in-node=\"87\">mi_script.py<\/code>). Luego, en la terminal, escribe: <code data-path-to-node=\"49,2,0\" data-index-in-node=\"134\">python mi_script.py<\/code><\/p>\n<\/li>\n<\/ol>\n<p data-path-to-node=\"50\">Ya est\u00e1. Acabas de ahorrarte horas de vida.<\/p>\n<p data-path-to-node=\"51\">La automatizaci\u00f3n no es sobre ser perezoso, es sobre ser eficiente. Es sobre dejar que las m\u00e1quinas hagan el trabajo de m\u00e1quinas, para que t\u00fa puedas dedicarte a pensar, crear o simplemente tomarte ese caf\u00e9 tranquilo. <strong><a href=\"https:\/\/geekine.com\/13-excelentes-cursos-online-y-gratuitos-de-tecnologia-que-podran-cambiar-tu-vida\/\">Empieza con uno<\/a><\/strong> de estos scripts, r\u00f3mpelo, arr\u00e9glalo y hazlo tuyo.<\/p>\n<p data-path-to-node=\"51\">Imagen: <a href=\"https:\/\/xuo.us\/vlSWh\" target=\"_blank\" rel=\"nofollow noopener noreferrer external\" data-original-href=\"http:\/\/www.pexels.com\"><em>Pexels<\/em><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>O trabalho de escrit\u00f3rio moderno tem um segredo sujo: passamos uma parte significativa do nosso tempo movendo dados da Janela A para a Janela B. \u00c9 o inferno do &quot;Ctrl+C, Ctrl+V&quot;. Se voc\u00ea gasta mais de 15 minutos por dia em uma tarefa repetitiva que n\u00e3o exige que seu c\u00e9rebro esteja engajado, voc\u00ea est\u00e1 desperdi\u00e7ando dinheiro e neur\u00f4nios. Bill Gates disse certa vez que escolheria uma pessoa pregui\u00e7osa para fazer um trabalho dif\u00edcil porque &quot;ela encontrar\u00e1 uma maneira f\u00e1cil de faz\u00ea-lo&quot;. Essa maneira f\u00e1cil, hoje em dia, se chama Python. N\u00e3o\u2026<\/p>","protected":false},"author":1,"featured_media":34662,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"googlesitekit_rrm_CAowjZ7eCw:productID":"","footnotes":""},"categories":[2],"tags":[2900,2905,2908,2906,2902,2904,2899,2901,2907,2903],"tmauthors":[],"ppma_author":[2508],"class_list":["post-34659","post","type-post","status-publish","format-standard","has-post-thumbnail","category-tutoriales","tag-automatizacion-de-tareas","tag-automatizar-emails","tag-coding-for-non-coders","tag-combinar-pdf-python","tag-excel-con-python","tag-productividad-laboral","tag-python-para-principiantes","tag-scripts-de-oficina","tag-tutorial-python-2024","tag-web-scraping-basico"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.7 (Yoast SEO v27.6) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Automatiza tu Oficina: 5 Scripts de Python para Salir Antes del Trabajo con el C\u00f3digo Incluido | Geekine.com<\/title>\n<meta name=\"description\" content=\"\u00bfQu\u00e9 es la automatizaci\u00f3n con Python en este contexto? B\u00e1sicamente, es escribir peque\u00f1os &quot;robots&quot; de texto (scripts) que leen archivos ...\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/geekine.com\/pt\/automatize-seu-escritorio-5-scripts-python-para-sair-do-escritorio-mais-cedo-com-codigo-incluido\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Automatiza tu Oficina: 5 Scripts de Python para Salir Antes del Trabajo con el C\u00f3digo Incluido\" \/>\n<meta property=\"og:description\" content=\"\u00bfQu\u00e9 es la automatizaci\u00f3n con Python en este contexto? B\u00e1sicamente, es escribir peque\u00f1os &quot;robots&quot; de texto (scripts) que leen archivos ...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/geekine.com\/pt\/automatize-seu-escritorio-5-scripts-python-para-sair-do-escritorio-mais-cedo-com-codigo-incluido\/\" \/>\n<meta property=\"og:site_name\" content=\"Geekine: Tecnolog\u00eda, Videojuegos, Gadgets, Apps, Cine y Ciencia\" \/>\n<meta property=\"article:published_time\" content=\"2026-02-21T15:27:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/geekine.com\/wp-content\/uploads\/2026\/01\/geekine.com-Automatiza-tu-Oficina-5-Scripts-de-Python-para-Salir-Antes-del-Trabajo-Codigo-Incluido-copia.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"675\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Geekine\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Geekine\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\\\/\\\/geekine.com\\\/automatiza-tu-oficina-5-scripts-de-python-para-salir-antes-del-trabajo-con-el-codigo-incluido\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/geekine.com\\\/automatiza-tu-oficina-5-scripts-de-python-para-salir-antes-del-trabajo-con-el-codigo-incluido\\\/\"},\"author\":{\"name\":\"Geekine\",\"@id\":\"https:\\\/\\\/geekine.com\\\/#\\\/schema\\\/person\\\/3062bd70248852c8525f1601ded17c4b\"},\"headline\":\"Automatiza tu Oficina: 5 Scripts de Python para Salir Antes del Trabajo con el C\u00f3digo Incluido\",\"datePublished\":\"2026-02-21T15:27:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/geekine.com\\\/automatiza-tu-oficina-5-scripts-de-python-para-salir-antes-del-trabajo-con-el-codigo-incluido\\\/\"},\"wordCount\":894,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/geekine.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/geekine.com\\\/automatiza-tu-oficina-5-scripts-de-python-para-salir-antes-del-trabajo-con-el-codigo-incluido\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/geekine.com\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/geekine.com-Automatiza-tu-Oficina-5-Scripts-de-Python-para-Salir-Antes-del-Trabajo-Codigo-Incluido-copia.png\",\"keywords\":[\"automatizaci\u00f3n de tareas\",\"automatizar emails\",\"coding for non-coders\",\"combinar PDF Python\",\"Excel con Python\",\"productividad laboral\",\"Python para principiantes\",\"scripts de oficina\",\"tutorial Python 2024\",\"web scraping b\u00e1sico\"],\"articleSection\":[\"Tutoriales\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/geekine.com\\\/automatiza-tu-oficina-5-scripts-de-python-para-salir-antes-del-trabajo-con-el-codigo-incluido\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/geekine.com\\\/automatiza-tu-oficina-5-scripts-de-python-para-salir-antes-del-trabajo-con-el-codigo-incluido\\\/\",\"url\":\"https:\\\/\\\/geekine.com\\\/automatiza-tu-oficina-5-scripts-de-python-para-salir-antes-del-trabajo-con-el-codigo-incluido\\\/\",\"name\":\"Automatiza tu Oficina: 5 Scripts de Python para Salir Antes del Trabajo con el C\u00f3digo Incluido | Geekine.com\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/geekine.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/geekine.com\\\/automatiza-tu-oficina-5-scripts-de-python-para-salir-antes-del-trabajo-con-el-codigo-incluido\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/geekine.com\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/geekine.com-Automatiza-tu-Oficina-5-Scripts-de-Python-para-Salir-Antes-del-Trabajo-Codigo-Incluido-copia.png\",\"datePublished\":\"2026-02-21T15:27:00+00:00\",\"description\":\"\u00bfQu\u00e9 es la automatizaci\u00f3n con Python en este contexto? B\u00e1sicamente, es escribir peque\u00f1os \\\"robots\\\" de texto (scripts) que leen archivos ...\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/geekine.com\\\/automatiza-tu-oficina-5-scripts-de-python-para-salir-antes-del-trabajo-con-el-codigo-incluido\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/geekine.com\\\/automatiza-tu-oficina-5-scripts-de-python-para-salir-antes-del-trabajo-con-el-codigo-incluido\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/geekine.com\\\/automatiza-tu-oficina-5-scripts-de-python-para-salir-antes-del-trabajo-con-el-codigo-incluido\\\/#primaryimage\",\"url\":\"https:\\\/\\\/geekine.com\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/geekine.com-Automatiza-tu-Oficina-5-Scripts-de-Python-para-Salir-Antes-del-Trabajo-Codigo-Incluido-copia.png\",\"contentUrl\":\"https:\\\/\\\/geekine.com\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/geekine.com-Automatiza-tu-Oficina-5-Scripts-de-Python-para-Salir-Antes-del-Trabajo-Codigo-Incluido-copia.png\",\"width\":1200,\"height\":675,\"caption\":\"Con unas pocas l\u00edneas de c\u00f3digo, el caos de papeles se convierte en eficiencia digital.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/geekine.com\\\/automatiza-tu-oficina-5-scripts-de-python-para-salir-antes-del-trabajo-con-el-codigo-incluido\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Inicio\",\"item\":\"https:\\\/\\\/geekine.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tutoriales\",\"item\":\"https:\\\/\\\/geekine.com\\\/categoria\\\/tutoriales\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Automatiza tu Oficina: 5 Scripts de Python para Salir Antes del Trabajo con el C\u00f3digo Incluido\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/geekine.com\\\/#website\",\"url\":\"https:\\\/\\\/geekine.com\\\/\",\"name\":\"Geekine\",\"description\":\"Tecnolog\u00eda, Videojuegos, Gadgets, Apps, Cine y Ciencia\",\"publisher\":{\"@id\":\"https:\\\/\\\/geekine.com\\\/#organization\"},\"alternateName\":\"Geekine.com\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/geekine.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/geekine.com\\\/#organization\",\"name\":\"Geekine\",\"alternateName\":\"Geekine.com\",\"url\":\"https:\\\/\\\/geekine.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/geekine.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":null,\"contentUrl\":null,\"width\":null,\"height\":null,\"caption\":\"Geekine\"},\"image\":{\"@id\":\"https:\\\/\\\/geekine.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/co.pinterest.com\\\/geekinecom\\\/\"],\"description\":\"Geekine es tu universo geek de tecnolog\u00eda, videojuegos, gadgets, apps, cine y ciencia. Publicamos noticias frescas, an\u00e1lisis expertos y rese\u00f1as en espa\u00f1ol.\",\"publishingPrinciples\":\"https:\\\/\\\/geekine.com\\\/terminos-y-condiciones\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/geekine.com\\\/#\\\/schema\\\/person\\\/3062bd70248852c8525f1601ded17c4b\",\"name\":\"Geekine\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e20bfc456553b96283eac3a3bbb0bde1415085ebf2c7f00f1a37ad7f85335b8f?s=96&d=mm&r=g263dc9a9e9429c6be41d1b1bbb1d3e3b\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e20bfc456553b96283eac3a3bbb0bde1415085ebf2c7f00f1a37ad7f85335b8f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e20bfc456553b96283eac3a3bbb0bde1415085ebf2c7f00f1a37ad7f85335b8f?s=96&d=mm&r=g\",\"caption\":\"Geekine\"},\"description\":\"Explorador digital y creador digital. Vivo entre c\u00f3digos y sue\u00f1os, siempre en busca de la pr\u00f3xima gran idea. En geekine.com, comparto mi pasi\u00f3n por la tecnolog\u00eda y el entretenimiento geek.\",\"sameAs\":[\"https:\\\/\\\/www.geekine.com\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Automatize seu escrit\u00f3rio: 5 scripts Python para sair mais cedo do trabalho com o c\u00f3digo inclu\u00eddo | Geekine.com","description":"O que \u00e9 automa\u00e7\u00e3o com Python nesse contexto? Basicamente, \u00e9 escrever pequenos \"rob\u00f4s\" (scripts) de texto que leem arquivos ...","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/geekine.com\/pt\/automatize-seu-escritorio-5-scripts-python-para-sair-do-escritorio-mais-cedo-com-codigo-incluido\/","og_locale":"pt_BR","og_type":"article","og_title":"Automatiza tu Oficina: 5 Scripts de Python para Salir Antes del Trabajo con el C\u00f3digo Incluido","og_description":"\u00bfQu\u00e9 es la automatizaci\u00f3n con Python en este contexto? B\u00e1sicamente, es escribir peque\u00f1os \"robots\" de texto (scripts) que leen archivos ...","og_url":"https:\/\/geekine.com\/pt\/automatize-seu-escritorio-5-scripts-python-para-sair-do-escritorio-mais-cedo-com-codigo-incluido\/","og_site_name":"Geekine: Tecnolog\u00eda, Videojuegos, Gadgets, Apps, Cine y Ciencia","article_published_time":"2026-02-21T15:27:00+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/geekine.com\/wp-content\/uploads\/2026\/01\/geekine.com-Automatiza-tu-Oficina-5-Scripts-de-Python-para-Salir-Antes-del-Trabajo-Codigo-Incluido-copia.png","type":"image\/png"}],"author":"Geekine","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Geekine","Est. tempo de leitura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/geekine.com\/automatiza-tu-oficina-5-scripts-de-python-para-salir-antes-del-trabajo-con-el-codigo-incluido\/#article","isPartOf":{"@id":"https:\/\/geekine.com\/automatiza-tu-oficina-5-scripts-de-python-para-salir-antes-del-trabajo-con-el-codigo-incluido\/"},"author":{"name":"Geekine","@id":"https:\/\/geekine.com\/#\/schema\/person\/3062bd70248852c8525f1601ded17c4b"},"headline":"Automatiza tu Oficina: 5 Scripts de Python para Salir Antes del Trabajo con el C\u00f3digo Incluido","datePublished":"2026-02-21T15:27:00+00:00","mainEntityOfPage":{"@id":"https:\/\/geekine.com\/automatiza-tu-oficina-5-scripts-de-python-para-salir-antes-del-trabajo-con-el-codigo-incluido\/"},"wordCount":894,"commentCount":0,"publisher":{"@id":"https:\/\/geekine.com\/#organization"},"image":{"@id":"https:\/\/geekine.com\/automatiza-tu-oficina-5-scripts-de-python-para-salir-antes-del-trabajo-con-el-codigo-incluido\/#primaryimage"},"thumbnailUrl":"https:\/\/geekine.com\/wp-content\/uploads\/2026\/01\/geekine.com-Automatiza-tu-Oficina-5-Scripts-de-Python-para-Salir-Antes-del-Trabajo-Codigo-Incluido-copia.png","keywords":["automatizaci\u00f3n de tareas","automatizar emails","coding for non-coders","combinar PDF Python","Excel con Python","productividad laboral","Python para principiantes","scripts de oficina","tutorial Python 2024","web scraping b\u00e1sico"],"articleSection":["Tutoriales"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/geekine.com\/automatiza-tu-oficina-5-scripts-de-python-para-salir-antes-del-trabajo-con-el-codigo-incluido\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/geekine.com\/automatiza-tu-oficina-5-scripts-de-python-para-salir-antes-del-trabajo-con-el-codigo-incluido\/","url":"https:\/\/geekine.com\/automatiza-tu-oficina-5-scripts-de-python-para-salir-antes-del-trabajo-con-el-codigo-incluido\/","name":"Automatize seu escrit\u00f3rio: 5 scripts Python para sair mais cedo do trabalho com o c\u00f3digo inclu\u00eddo | Geekine.com","isPartOf":{"@id":"https:\/\/geekine.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/geekine.com\/automatiza-tu-oficina-5-scripts-de-python-para-salir-antes-del-trabajo-con-el-codigo-incluido\/#primaryimage"},"thumbnailUrl":"https:\/\/geekine.com\/wp-content\/uploads\/2026\/01\/geekine.com-Automatiza-tu-Oficina-5-Scripts-de-Python-para-Salir-Antes-del-Trabajo-Codigo-Incluido-copia.png","datePublished":"2026-02-21T15:27:00+00:00","description":"O que \u00e9 automa\u00e7\u00e3o com Python nesse contexto? Basicamente, \u00e9 escrever pequenos \"rob\u00f4s\" (scripts) de texto que leem arquivos ...","breadcrumb":{"@id":"https:\/\/geekine.com\/automatiza-tu-oficina-5-scripts-de-python-para-salir-antes-del-trabajo-con-el-codigo-incluido\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/geekine.com\/automatiza-tu-oficina-5-scripts-de-python-para-salir-antes-del-trabajo-con-el-codigo-incluido\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/geekine.com\/automatiza-tu-oficina-5-scripts-de-python-para-salir-antes-del-trabajo-con-el-codigo-incluido\/#primaryimage","url":"https:\/\/geekine.com\/wp-content\/uploads\/2026\/01\/geekine.com-Automatiza-tu-Oficina-5-Scripts-de-Python-para-Salir-Antes-del-Trabajo-Codigo-Incluido-copia.png","contentUrl":"https:\/\/geekine.com\/wp-content\/uploads\/2026\/01\/geekine.com-Automatiza-tu-Oficina-5-Scripts-de-Python-para-Salir-Antes-del-Trabajo-Codigo-Incluido-copia.png","width":1200,"height":675,"caption":"Con unas pocas l\u00edneas de c\u00f3digo, el caos de papeles se convierte en eficiencia digital."},{"@type":"BreadcrumbList","@id":"https:\/\/geekine.com\/automatiza-tu-oficina-5-scripts-de-python-para-salir-antes-del-trabajo-con-el-codigo-incluido\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Inicio","item":"https:\/\/geekine.com\/"},{"@type":"ListItem","position":2,"name":"Tutoriales","item":"https:\/\/geekine.com\/categoria\/tutoriales\/"},{"@type":"ListItem","position":3,"name":"Automatiza tu Oficina: 5 Scripts de Python para Salir Antes del Trabajo con el C\u00f3digo Incluido"}]},{"@type":"WebSite","@id":"https:\/\/geekine.com\/#website","url":"https:\/\/geekine.com\/","name":"Geekine","description":"Tecnologia, videogames, gadgets, aplicativos, filmes e ci\u00eancia","publisher":{"@id":"https:\/\/geekine.com\/#organization"},"alternateName":"Geekine.com","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/geekine.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/geekine.com\/#organization","name":"Geekine","alternateName":"Geekine.com","url":"https:\/\/geekine.com\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/geekine.com\/#\/schema\/logo\/image\/","url":null,"contentUrl":null,"width":null,"height":null,"caption":"Geekine"},"image":{"@id":"https:\/\/geekine.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/co.pinterest.com\/geekinecom\/"],"description":"O Geekine \u00e9 o seu universo geek de tecnologia, videogames, gadgets, aplicativos, filmes e ci\u00eancia. Publicamos not\u00edcias atualizadas, an\u00e1lises de especialistas e resenhas em ingl\u00eas.","publishingPrinciples":"https:\/\/geekine.com\/terminos-y-condiciones\/"},{"@type":"Person","@id":"https:\/\/geekine.com\/#\/schema\/person\/3062bd70248852c8525f1601ded17c4b","name":"Geekine","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/e20bfc456553b96283eac3a3bbb0bde1415085ebf2c7f00f1a37ad7f85335b8f?s=96&d=mm&r=g263dc9a9e9429c6be41d1b1bbb1d3e3b","url":"https:\/\/secure.gravatar.com\/avatar\/e20bfc456553b96283eac3a3bbb0bde1415085ebf2c7f00f1a37ad7f85335b8f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e20bfc456553b96283eac3a3bbb0bde1415085ebf2c7f00f1a37ad7f85335b8f?s=96&d=mm&r=g","caption":"Geekine"},"description":"Explorador e criador digital. Vivo entre c\u00f3digos e sonhos, sempre em busca da pr\u00f3xima grande ideia. No geekine.com, compartilho minha paix\u00e3o por tecnologia e entretenimento geek.","sameAs":["https:\/\/www.geekine.com"]}]}},"authors":[{"term_id":2508,"user_id":1,"is_guest":0,"slug":"geekine-com","display_name":"Geekine","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/e20bfc456553b96283eac3a3bbb0bde1415085ebf2c7f00f1a37ad7f85335b8f?s=96&d=mm&r=g","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/geekine.com\/pt\/wp-json\/wp\/v2\/posts\/34659","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/geekine.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/geekine.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/geekine.com\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/geekine.com\/pt\/wp-json\/wp\/v2\/comments?post=34659"}],"version-history":[{"count":3,"href":"https:\/\/geekine.com\/pt\/wp-json\/wp\/v2\/posts\/34659\/revisions"}],"predecessor-version":[{"id":34900,"href":"https:\/\/geekine.com\/pt\/wp-json\/wp\/v2\/posts\/34659\/revisions\/34900"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/geekine.com\/pt\/wp-json\/wp\/v2\/media\/34662"}],"wp:attachment":[{"href":"https:\/\/geekine.com\/pt\/wp-json\/wp\/v2\/media?parent=34659"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/geekine.com\/pt\/wp-json\/wp\/v2\/categories?post=34659"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/geekine.com\/pt\/wp-json\/wp\/v2\/tags?post=34659"},{"taxonomy":"tmauthors","embeddable":true,"href":"https:\/\/geekine.com\/pt\/wp-json\/wp\/v2\/tmauthors?post=34659"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/geekine.com\/pt\/wp-json\/wp\/v2\/ppma_author?post=34659"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}