Herramientas de usuario

Herramientas del sitio


informatica:programacion:python:cursos:introduccion_programacion_python:ficheros

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
informatica:programacion:python:cursos:introduccion_programacion_python:ficheros [2023/04/19 18:35] – [Cargar datos de ficheros (lectura)] tempwininformatica:programacion:python:cursos:introduccion_programacion_python:ficheros [2023/04/24 09:39] (actual) – [Manipulación de ficheros con with] tempwin
Línea 2: Línea 2:
  
 <WRAP center round info 60%> <WRAP center round info 60%>
-Notas de la formación por parte de la Consellería de Promoción do Emprego e Igualdade y el [[https://formacion.clusterticgalicia.com|Clúster TIC Galicia]] impartida en 2023: [[informatica:programacion:python:cursos:introduccion_programacion_python|Introducción a la programación con Python]]+Bloque perteneciente al curso [[informatica:programacion:python:cursos:introduccion_programacion_python|Introducción a la programación con Python]].
 </WRAP> </WRAP>
- 
 Para manipular ficheros, siempre actuaremos de la misma forma: Para manipular ficheros, siempre actuaremos de la misma forma:
  
Línea 131: Línea 130:
 f.close() f.close()
 </code> </code>
 +
 +===== Ejemplo de uso =====
 +
 +Lectura de un fichero con datos numéricos y hacer operaciones con todo ello.
 +
 +Partiendo de un fichero ''numeros.txt'':
 +
 +<code>
 +2
 +4
 +1
 +66
 +1
 +3
 +5
 +9
 +10
 +</code>
 +
 +Codificamos un programa que sume todos los números que contiene el fichero anterior:
 +
 +<code python>
 +f = open("numeros.txt", "r", encoding="utf8")
 +suma = 0
 +
 +for linea in f:
 +    # Cada línea contiene un texto con un número, que tendremos
 +    # que convertir a un valor numérico
 +    valor = int(linea)
 +    print(valor)
 +    suma += valor
 +
 +f.close()
 +print(f"Total: {suma}")
 +</code>
 +
 +===== Manipulación de ficheros con with =====
 +
 +El bloque ''with'' establece un contexto en el que el fichero se abre y se asigna a una variable. Durante la ejecución de las instrucciones que están dentro del ''with'' esa variable existe y el recurso (fichero) en cuestión permanece abierto. Al terminar el bloque ''with'', el fichero se cerrará automáticamente como consecuencia de la liberación de la variable asignada.
 +
 +<code python>
 +with open("mensaje.txt", "r", encoding="utf8") as f:
 +    for linea in f:
 +        print(f"Datos leídos: {linea}")
 +</code>
 +
 +<WRAP center round info 60%>
 +El uso de de ''with'' para la lectura de ficheros es cómodo porque no necesitamos cerrar el fichero explícitamente
 +</WRAP>
 +
 +===== Ejemplos prácticos =====
 +
 +==== Tratamiento ficheros CSV ====
 +
 +<code python>
 +import csv
 +
 +# Lista vacía en la que se irán añadiendo todas las filas
 +organizaciones = []
 +
 +with open("organizations-100.csv", newline="") as csvfile:
 +    reader1 = csv.reader(csvfile, delimiter=",", quotechar='"')
 +    for row in reader1:
 +        organizaciones.append(row)
 +        
 +# Mostramos solo las 5 primeras
 +print(
 +</code>
 +
 +==== Escritura CSV ====
informatica/programacion/python/cursos/introduccion_programacion_python/ficheros.1681922140.txt.gz · Última modificación: por tempwin