Saltar al contenido

Curso de Python – 8. Ficheros

Aprende a trabajar con ficheros y directorios en Python: rutas con Path, lectura y escritura de ficheros, y ejercicios prácticos con datos de futbolistas.

Programamos para que una máquina gestione los datos por nosotros y como nosotros queremos. Los ficheros permitirán guardar tanta cantidad de datos como queramos, unos ficheros con información antes de ser procesada y otros con la información después de ser procesada; por ello serán una de las principales entradas y salidas de nuestro programa.

Teoría

Saltar al contenido del PDF

8.1- Ficheros y Directorios

Un sistema operativo (Windows, Linux, Mac, Android, etc.) gestiona los datos con ficheros y estos estarán clasificados en estructuras de directorios. Saber gestionar los ficheros y directorios será un punto crucial a la hora de trabajar con ellos.

Nota

Para saber más en las siguientes entradas:

8.2- Rutas (Path)

La ruta es el camino a seguir a través de los directorios para alcanzar un fichero o varios ficheros. Con el método Path será muy fácil y práctico llegar a utilizar tantos ficheros como queramos.

Ejercicios

Ejercicio 8.1-crear_fichero_y_leer_fichero.py

Captura de la consola con el contenido del fichero en dos partes: los números 4, 7, 4, 2, 5 y luego dos líneas de texto añadidas

Con código Python crea un directorio en una ubicación de tu ordenador y dentro un fichero.

Dentro del fichero escribe cinco líneas de números aleatorios del 1 al 10 (Parte 1).

Luego lee ese fichero e imprime cada línea por pantalla.

A continuación, añade al final del fichero un par de líneas de texto (Parte 2).

Y vuelve a leer el fichero.

Ejercicio 8.2-futbolistas.py

Dado el fichero “futbolistas.txt” en el que en cada línea contiene datos de un futbolista, se pide:

  1. Implementar una función llamada “file_to_list(file_dir)” que dada la ruta del fichero futbolista.txt, devuelva una
    lista en la que cada elemento corresponde con una línea del fichero; es decir, que cada elemento representa a los datos del futbolista.
  2. Implementar una función llamada “get_top_goals_players(list_players, top_n)” que dada la lista de futbolistas
    devuelva en otra lista los “top_n” futbolistas más goleadores.
  3. Implementar una función llamada “get_players_by_team(list_players, team)” que dada la lista de futbolistas devuelva
    en otra lista con todos los jugadores que han militado en el equipo que se pasa como parámetro (team), ordenados de forma descendente por el número de minutos que han jugado.
  4. Implementar una función llamada “write_list_to_file(list_to_write, file_dir)” que dada la lista que se pasa como
    parámetro (list_to_write), escriba en el fichero que se pasa como parámetro “file_dir” cada elemento de la lista en una línea.
  5. Escribir las listas creadas en los puntos b y c en un fichero, utilizando la función implementada en el punto d.

En el fichero de futbolistas.txt, cada línea contiene datos de un jugador de futbol y los datos están separados por el separador “::”. Los datos que hay en cada posición son los siguientes:

1id14PartidosCompletos27Numligas
2Apodo15PartidosSuplente28NumCopasDelRey
3Nombre16PartidosSustituidos29NumSuperCopas
4FechaNacimiento17partidosPorTemporadas30NumChampions
5LugarNacimiento18PorcentajePartidos31NumUEFAs
6Pais19MinutosJugados32NumEuropaLeagues
7Altura20MinutoPorPartido33NumSuperCopasEuropa
8Peso21Goles34NumMundialesClubes
9Demarcacion22TarjetasAmarillas35NumIntercontinentales
10NumTemporadas23TarjetasRojas36NumMundiales
11NumEquipos24PartidosSeleccionEspaniola37Numeurocopas
12PartidosJugados25GolesSeleccionEspaniola38ValorMercado
13PartidosTitular26Equipos  

«Curso de Python – 8. Ficheros», de Ramón Invarato en jarroba.com, con licencia Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0. Obra registrada en Safe Creative.

Ramón Invarato

Diseño y construyo plataformas de datos y sistemas inteligentes, y me motiva compartir esa experiencia aquí.

Te puede interesar

Comentarios

Deja un comentario


Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.