CursosEmpresasBlogLiveConfPrecios

Trabajando con archivos de texto en Python

Clase 19 de 21 • Curso de Python Intermedio: Comprehensions, Lambdas y Manejo de Errores

Clase anteriorSiguiente clase

Contenido del curso

Preparación antes de empezar
  • 1
    Algunas cosas que aprenderás sobre Python en este curso

    Algunas cosas que aprenderás sobre Python en este curso

    01:36
  • 2
    El Zen de Python

    El Zen de Python

    08:30
  • 3
    ¿Qué es la documentación?

    ¿Qué es la documentación?

    04:33
Entorno virtual
  • 4
    ¿Qué es un entorno virtual?

    ¿Qué es un entorno virtual?

    03:56
  • 5
    El primer paso profesional: creación de un entorno virtual

    El primer paso profesional: creación de un entorno virtual

    08:30
  • 6
    Instalación de dependencias con pip

    Instalación de dependencias con pip

    09:53
  • quiz Entorno virtual

Alternativa a los ciclos: comprehensions
  • 7
    Listas y diccionarios anidados

    Listas y diccionarios anidados

    12:32
  • 8
    List comprehensions

    List comprehensions

    07:39
  • 9
    Dictionary comprehensions

    Dictionary comprehensions

    06:00
  • quiz Alternativa a los ciclos: comprehensions

Conceptos avanzados de funciones
  • 10
    Funciones anónimas: lambda

    Funciones anónimas: lambda

    05:42
  • 11
    High order functions: filter, map y reduce

    High order functions: filter, map y reduce

    10:40
  • 12
    Proyecto: filtrando datos

    Proyecto: filtrando datos

    14:35
  • quiz Conceptos avanzados de funciones

Manejo de errores
  • 13
    Los errores en el código

    Los errores en el código

    08:54
  • 14
    Debugging

    Debugging

    12:27
  • 15
    Manejo de excepciones

    Manejo de excepciones

    10:53
  • 16
    Poniendo a prueba el manejo de excepciones

    Poniendo a prueba el manejo de excepciones

    04:12
  • 17
    Assert statements

    Assert statements

    07:55
  • quiz Manejo de errores

Manejo de archivos
  • 18
    ¿Cómo trabajar con archivos?

    ¿Cómo trabajar con archivos?

    06:52
  • 19
    Trabajando con archivos de texto en Python

    Trabajando con archivos de texto en Python

    12:27
  • quiz Manejo de archivos

Conclusión
  • 20
    Reto final: Juego del Ahorcado o Hangman Game

    Reto final: Juego del Ahorcado o Hangman Game

    03:43
  • 21
    Continúa tu camino profesional con Python

    Continúa tu camino profesional con Python

    02:17
    Edgar Lopez

    Edgar Lopez

    student•
    hace 5 años
    1.PNG
    Espero les sirva :)
    def read(): names = [] with open("./archivos/name.txt", "r", encoding="utf-8") as f: for line in f: if len(line.strip()) > 0: names.append(line.strip()) if len(names)> 0: print(names) else: print("Archivo vacio") def write(): names = [] with open("./archivos/name.txt", "w" , encoding="utf-8") as f: for name in names: f.write(name) f.write('\n') def agregar_nombre(nombre): with open("./archivos/name.txt", "a" , encoding="utf-8") as f: f.write(nombre) f.write("\n") def borrar_nombre(nombre): names = [] with open("./archivos/name.txt", "r", encoding="utf-8") as f: for line in f: if len(line.strip()) > 0 and line.strip()!= nombre: names.append(line.strip()) with open("./archivos/name.txt", "w" , encoding="utf-8") as f: for name in names: f.write(name) f.write('\n') def run(): sw = True while sw: try: print(""" ---------------------------------------------------------------------- Seleccione un numero: 1. Crear un nuevo archivo 2. Agregar nombre 3. Listar nombre 4. Borrar nombre 5. Salir del programa ---------------------------------------------------------------------- """) n = int(input("Ingrese una opcion : ")) if n == 1: write() elif n == 2: nombre = input("Ingrese el nombre a agregar: ") agregar_nombre(nombre) elif n == 3: read() elif n == 4: nombre = input("Ingrese el nombre a borrar : ") borrar_nombre(nombre) elif n ==5: sw = False print("Programa Terminado!") except ValueError : print("Error seleccione una opcion correcta") # write() if __name__ == '__main__': run()
      Nicolas Vargas

      Nicolas Vargas

      student•
      hace 5 años

      Felicitaciones, se nota tu dedicacion y lo profecional que eres. Muchas gracias por tu aporte, me ayudo mucho. <3

      Sebastián Andrade

      Sebastián Andrade

      student•
      hace 5 años

      bastante bien, felicitaciones y gracias por el aporte

    Miguel Angel Reyes Moreno

    Miguel Angel Reyes Moreno

    student•
    hace 5 años

    encoding = "utf-8" Sirve para que Python pueda soportar caracteres del idioma español, como la "ñ" y letras con tilde.

      Moisés Manuel Morín Hevia

      Moisés Manuel Morín Hevia

      student•
      hace 5 años

      Sí, cada lengua tiene su encoding.

      Marcelo Alejandro Palma Brach

      Marcelo Alejandro Palma Brach

      student•
      hace 4 años

      A mi me soporta hasta los emojis, aunque no le especifique enconding="16", en lugar de eso le puse enconding="8" 🤔

    Urdinola Ivan Alberto

    Urdinola Ivan Alberto

    student•
    hace 5 años

    Compañeros si tienen un problema con la ruta del archivo, les recomiendo algo que me funcionó:

    1. Ir al archivo 'numbers.txt' que aparece en el explorador de VSC
    2. click derecho y click en --> 'copiar ruta de acceso relativa' y listo, con esa ruta inicias: por ejemplo la mía:
    with open('./venv/archivos/numbers.txt, 'r', encoding = 'utf-8) as f:
      Celic Aislinn Liahut Ley

      Celic Aislinn Liahut Ley

      student•
      hace 5 años

      Muchas gracias , me sirvió mucho <3 :)

      Moisés Manuel Morín Hevia

      Moisés Manuel Morín Hevia

      student•
      hace 5 años

      Thanks.

    Alejandro Aguilar

    Alejandro Aguilar

    student•
    hace 5 años

    Encuentro muy útil hacer una constante que defina la ruta absoluta del script para poder ejecutarlo desde cualquier lado (van a notar que si se ejecuta desde otro lado, la ruta "./archivos/numbers.txt" ya no sirve), esto sería, así:

    import os FILE_PATH=os.path.dirname(__file__) def read(): numbers = [] with open(f"{FILE_PATH}/archivos/numbers.txt", "r", encoding="utf-8") as f: [numbers.append(int(line)) for line in f] print(numbers)

    Si alguien tiene otra sugerencia, agradecería su comentario :D

      Kevin Harold Gutierrez Ramirez

      Kevin Harold Gutierrez Ramirez

      student•
      hace 4 años

      Gracias <3

      Carlos Daniel Rodriguez

      Carlos Daniel Rodriguez

      student•
      hace 4 años

      Gracias amigo! Me re sirvió

    Andrés Suarez

    Andrés Suarez

    student•
    hace 4 años

    Un pequeño aporte, cuando estén trabajando con datos y tengan su .csv con los decimales en , y no . en: with open("./archivos/numeros.csv", "r", encoding="utf-8", decimal=",") as f con añadir decimal="," no tendrán que editar nada y pasan a procesar sus datos de inmediato.

    Saludos a todos

      Carlos Rodríguez

      Carlos Rodríguez

      student•
      hace 3 años

      Genial.

    Daniel Paloma Murcia

    Daniel Paloma Murcia

    student•
    hace 5 años

    En la funcion write() es buena práctica poner f.close() despues del ciclo for, para cerrar el archivo y no perder informacion.

      Moisés Manuel Morín Hevia

      Moisés Manuel Morín Hevia

      student•
      hace 5 años

      Lo tendré en cuenta, gracias.

      Cristian Camilo Hernández Ramirez

      Cristian Camilo Hernández Ramirez

      student•
      hace 4 años

      Creo que al usar el context manager (with), él siempre cierra el archivo por nosotros y no hay necesidad de cerrarlo manualmente.

      Porque cuando no usas el context manager, tienes que cerrarlo así:

      f = open("/path/file.txt", "r") f.write('something') f.close()
    Enzo Venturi

    Enzo Venturi

    student•
    hace 4 años

    Les dejo la manera de como hacerlo con list comprehensions:

    numbers_txt = [int(line) for line in f] names_txt = [f.write(name + "\n") for name in names]
      Miguel Góngora

      Miguel Góngora

      student•
      hace 4 años

      Excelente aporte

      Juan Pablo Cuenca Ludeña

      Juan Pablo Cuenca Ludeña

      student•
      hace 3 años

      Muy buena, utilización, no sabía que se podían usar las list comprehensions como una especie de iterador, aunque puede generar listas con valores booleanos o incluso None

      Por ejemplo:

      unused_list = [ print(i) for i in range(5)] # Imprime los números del 0 al 4 # unused_list = [ None, None, None, None, None]
    Alejandro Castaño Vargas

    Alejandro Castaño Vargas

    student•
    hace 4 años

    Tuve un problema con la ubicación del archivo, VSC no la reconocía y la tomaba como FileNotFoundError, es decir, como si no existiera. Lo solucioné agregando

    1. La ruta original y no la relativa
    2. una r antes de la ruta, esto hace que convierta un string común a un raw string Espero a alguien le sirva
    def read(): numbers = [] with open(r"C:\Users\alejandro\Documents\Visual Studio Code\Python\Manejo archivos\carpeta\numbers.txt" , "r") as f:
      William Ricardo Vargas Acero

      William Ricardo Vargas Acero

      student•
      hace 3 años

      Me sirvió, sin esa r no me corre el programa. Muchas gracias.

    Jhon Stiven León

    Jhon Stiven León

    student•
    hace 4 años

    Les recomiendo la siguiente extensión para VSCode la cúal nos permite ubicar un archivo de una manera un poquito más cómoda, los invito a probarla

    Screenshot 2021-12-24 135837.png
      Juan Pablo Cuenca Ludeña

      Juan Pablo Cuenca Ludeña

      student•
      hace 3 años

      Muy buena, veía que a Facundo le funcionaba, pero a mi no. GRACIAS

      Andrés Felipe Lopez gomez

      Andrés Felipe Lopez gomez

      student•
      hace 3 años

      Gracias

    José Alejandro Llamas

    José Alejandro Llamas

    student•
    hace 4 años

    Para los que no nos corrió el código en un inicio, acuérdense de sustituir el pass dentro de run() y colocar el nombre de la función que deseen imprimir en pantalla.

    José Martínez Santana

    José Martínez Santana

    student•
    hace 5 años

    Para que sea más elegante en la función de escritura, sólo hay que concatenar la constante de nueva línea:

    for name in names: f.write(name + '\n')

    Diego Alexander Ariza Arenas

    Diego Alexander Ariza Arenas

    student•
    hace 5 años

    Estoy teniendo un problema con el open, mi código es:

    def read(): numbers = [] with open("./archivos/numbers.txt", "r") as f: for line in f: numbers.append(int(line)) print(numbers)

    Pero no imprime nada en pantalla. ¿Alguien sabe cuál sea el problema?

    También intento hacer el :

    .... for line in f: print(line)

    Y no funciona

      Sergio Ivan Santacruz Madrigal

      Sergio Ivan Santacruz Madrigal

      student•
      hace 5 años

      Aunque no esta todo el código creo puede ser que no agregaste la ultima parte, ya que no visualizas nada.

      La primera opción, puedes validar con el Debugger de VSC.

      La segunda, te comparto mi ejercicio, tal vez te ayude a encontrar el problema:

      def read(): numbers = [] with open("./files/numbers.txt", "r", encoding="utf-8") as f: for line in f: numbers.append(int(line)) print(numbers) def write(): names = ["sergio", "laura", "pepe", "chistian"] with open("./files/names.txt", "w", encoding="utf-8") as f: for name in names: f.write(name) f.write("\n") def run(): # read() write() if __name__ == "__main__": run()
      Diego Alexander Ariza Arenas

      Diego Alexander Ariza Arenas

      student•
      hace 5 años

      Hola Sergio, ha funcionado, graciassss!!

      Faltaba poner en el run la función que quería ejecutar, error muy simple pero muy importante línea dentro del código!!!

    Royer Guerrero Pinilla

    Royer Guerrero Pinilla

    student•
    hace 5 años

    Recurso de estudio

    File Handling in Python

      Raul Andres Herrera Larrarte

      Raul Andres Herrera Larrarte

      student•
      hace 4 años

      Gracias por tus valiosos aportes.

      Horacio Gaido

      Horacio Gaido

      student•
      hace 3 años

      Muchas gracias!!! Excelente recurso. También comparto este recurso www.w3schools.com Python Tutorial

    Usuario anónimo

    Usuario anónimo

    user•
    hace 4 años

    ✨ Es importante cerrar nuestro archivo, después de trabajar con el.

    archivo.close()
      Leiber Bertel

      Leiber Bertel

      student•
      hace 3 años

      Creo que al usar el context manager (with), él siempre cierra el archivo por nosotros y no hay necesidad de cerrarlo manualmente.

      Porque cuando no usas el context manager, tienes que cerrarlo así:

      f = open("/path/file.txt", "r") f.write('something') f.close()
    Sebastian vier

    Sebastian vier

    student•
    hace 4 años

    Hay un truco que se puede hacer cuando tienes una lista con muchos nombres y no quieres escribir tantas comillas:

    names = "Paco Miguel Pepe Facundo Sebastian".split()

      Nelson Ricardo Ramírez García

      Nelson Ricardo Ramírez García

      student•
      hace 3 años

      ¡Gracias! 👍👍

      Andrés Felipe Lopez gomez

      Andrés Felipe Lopez gomez

      student•
      hace 3 años

      Muchas gracias

    Carlos A. Lobo R.

    Carlos A. Lobo R.

    student•
    hace 5 años

    Una forma alternativa de escribir el archivo usando lo aprendido hasta ahora, con ++lambda functions++ y ++list comprehensions++

    with open("./files/names", "w", encoding="utf-8") as f: list(map(lambda name: f.write(name+"\n") , [name for name in names]))
    Marco Antonio Baquero Torres

    Marco Antonio Baquero Torres

    student•
    hace 5 años

    Hola, hice el ejercicio agrgandole una comprobacion al archivo de texto para que no salga ningun error en caso que contenga saltos de linea, espacios en blanco o algo que no sean numeros. Lo hice agregando if line.isspace() or line.isalpha(): Los metodos isspace verifica que no sea un espacio o salto de linea y el metodo isalpha verifica si es texto, en cuyo caso se salta esa ejecucion en el cliclo for mediante la instruccion continue.

    def read(): numbers = [] with open('./archivos/numbers.txt', 'r', encoding = 'utf-8') as f: for line in f: if line.isspace() or line.isalpha(): continue numbers.append(int(line)) print(numbers) def write(): names = ['Pepe', 'Marcela', 'Fredy', 'Juan', 'Ana', 'Mara'] with open('./archivos/names.txt', 'a', encoding='utf-8') as f: for name in names: f.write(name) f.write('\n') def run(): read() write() if __name__ == '__main__': run()
      Andres Alonso Huamani Marquez

      Andres Alonso Huamani Marquez

      student•
      hace 3 años

      excelente aporte... Gracias!

    Mario Alberto García Meza

    Mario Alberto García Meza

    teacher•
    hace 5 años

    Eso es una de las mayores ventajas de Platzi. He aprendido por muchos medios. La mayoría en inglés. Esto significa que se suelen pasar el encoding como algo innecesario. Pero si trabajas con archivos con datos en español, necesitas saber sobre encoding.

    Jose Antonio Rojas Ollarves

    Jose Antonio Rojas Ollarves

    student•
    hace 5 años

    TIP Cuando coloca as "f" realmente lo que esta haciendo es una convencion es una forma de tener buenas practicas al momento de trabajar con archivos en python.

      Moisés Manuel Morín Hevia

      Moisés Manuel Morín Hevia

      student•
      hace 5 años

      Quiero tener buenas prácticas.

    Luis Fernandez

    Luis Fernandez

    student•
    hace 4 años

    En el examen preguntan que se usa para escribir una linea en un archivo de texto, y segun esto la respuesta correcta es write(), esto me parece que no es correcto, es decir, en el programa que hace Facundo es correcto, pero Yo le puedo poner el nombre que quiera, hubiese podido ser Piolin() y eso tambien escribe si es que lo programe asi, quizas es correcto se la respuesta es w, o algo asi, pero no creo que write() sea correcto, sino me tienes que hablar especifico del ejemplo de la leccion

      Fernando Campos

      Fernando Campos

      student•
      hace 4 años

      Hola 👋🏼 Estás confundiendo el nombre del método para escribir con el nombre con el que declaras la variable del archivo. El nombre que le das a la variable del archivo sí es totalmente a tu decisión puede ser file o piolin o cualquier otro. Por otro lado, el método de esa variable para poder escribir si es write(). Para escribir usarías algo así. file.write() o piolin.write()

      Luis Fernandez

      Luis Fernandez

      student•
      hace 4 años

      Gracias!!!

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads