Clase 04 · 12 minGratis
Así lees (y así rompes) archivos en Python: open() con r, w, a y x
Clase 4 del curso gratis de Python para Análisis de Datos: leer, escribir, acumular y crear archivos con open(), y qué pasa si abres un Excel como texto.
Casi toda la información de trabajo vive en archivos: TXT, CSV, Excel. Antes
de llegar a herramientas como Pandas, conviene entender cómo Python abre un
archivo por dentro. El comando es uno solo: open.
La estructura
with open("gastos.txt", "r", encoding="utf-8") as archivo:
contenido = archivo.read()
print(contenido)open("gastos.txt", ...): el archivo que quieres abrir. Si está dentro de carpetas, escribes la ruta (el path):"carpeta_a/carpeta_b/gastos.txt"."r": el modo, cómo lo quieres abrir.with ... as archivo: le da un nombre al archivo mientras trabajas y lo cierra solo al terminar.
Los cuatro modos
"r"(leer): solo lectura. Es el modo por defecto: si no lo escribes, Python asume"r". Aun así, escribirlo hace el código más claro."w"(escribir): sobreescribe todo lo que había. Cuidado: un solo modo mal puesto y borras el archivo."a"(acumular): agrega al final sin tocar lo que ya existía."x"(crear): crea el archivo, y falla si ya existe.
with open("notas.txt", "w", encoding="utf-8") as archivo:
archivo.write("Hola, mundo\n") # reemplaza todo
with open("notas.txt", "a", encoding="utf-8") as archivo:
archivo.write("Datos Dinámicos\n") # se suma al finalEn Google Colab, los archivos que subes al panel de la izquierda son temporales: se borran cuando cierras la sesión.
¿Y si abro un Excel como texto?
with open("gastos.xlsx", "r", encoding="utf-8") as archivo:
archivo.read()
# UnicodeDecodeError: 'utf-8' codec can't decode byte...Aparecen símbolos rarísimos o un error. UTF-8 es el estándar de texto plano (las letras y símbolos de tu teclado), y un Excel no es texto plano: tiene celdas, formato y está comprimido por dentro. Es como abrir un Excel con el bloc de notas.
¿Cómo se lee un Excel, entonces? Con Pandas, que lo resuelve en una línea
(pd.read_excel). Lo vemos más adelante en el curso.
El reto de esta clase
Lee gastos.txt línea por línea, suma todo lo que se gastó en café y escribe
un reporte.txt con el total (modo "w") y la cantidad de cafés (modo "a").
Enunciado y solución en el material de la clase.
