Números básicos
Vamos a analizar en esta entrada los aspectos cuantitativos de nuestra muestra de expedientes, empezando por su cuantificación básica: número de expedientes y cantidad de archivos que contienen. El segundo análisis de esta entrada se centrará en el estudio de la tipología de los documentos. En ambos casos se exppondrán y analizarán los datos resultates del estudio y los recursos informáticos empleados.
Con el conocimiento de los datos cuantitativos básicos nos podremos hacer una idea de la masa documental que suponen, lo cual es un dato importante para conocer la capacidad que tienen de servir al objetivo (o a los objetivos) que nos planteamos con ellos, además de el trabajo que representa su mentanimiento.
El conocimiento de la tipología documental y su peso en esa masa de documentos nos acercará a un primer conocimiento de las prácticas de trabajo que implica la creación de los expedientes y su manteniento, y nos permitirá realizar previsiones sobre las tecnologías que necesitaremos para acceder a su contenido.
Empezaremos por indicar la necedidad de archivar en una unidad que vamos a considerar unidad central del SEO, un directorio al que llamaremos Expedientes_SEO, en que se archivarán todos los directorios o expedientes individuales identificados únicamente por el nombre o identificador del alumno. Una alternativa puede ser sudvidir este directorio principal en subdirectorios por centro, pero a la larga resulta más sencillo de gestionar un directorio general no diferenciado, aunque sea necesario generar algún sistema de gestión que incluya la posible elección de expediente en función del centro. De todas formas esta es una cuestión de gestión de la que nos ocuparemos en su momento. De momento sirva únicamente como base para comprende los procedimientos de trabajo que explicaré a continuación.
Para lo que ahora nos ocupa partiré de la existencia de dicho directorio Expedientes_SEO en el que se encuentran organidazos en subdirectorios los archivos de que consta cada uno de los expedientes. Lo que ahora queremos saber es de cuanto expedientes consta nuestra muestra, cosa que podemos conocer de diferentes formas. Yo voy a emplear un script Python creado para contar las carpetas o directorio que existe en una ruta dada.
import os
#Función para contar directorios ---------------------------------------
def contar_subdirectorios(ruta_principal):
"""
Cuenta cuántas carpetas o dirctorios hay dentro de una ruta específica.
"""
try:
# Verificamos si la ruta existe
if not os.path.exists(ruta_principal):
return "La ruta especificada no existe."
# Listamos el contenido y filtramos los directorios. os.path.isdir une la ruta principal con el nombre del elemento
subdirs = [nombre for nombre in os.listdir(ruta_principal) if os.path.isdir(os.path.join(ruta_principal, nombre))]
return len(subdirs)
except PermissionError:
return "Error: No tienes permisos para acceder a esta carpeta."
# Llamada a la función ------------------------------------------------------
ruta = "ruta" # Cambia "ruta" por tu ruta absoluta (ej.: "C:/Usuarios/Documentos").
resultado = contar_subdirectorios(ruta)
print(f"Número de subdirectorios en '{ruta}': {resultado}")
En este script debemos fijarnos especialmente en...
subdirs = [nombre for nombre in os.listdir(ruta_principal) if os.path.isdir(os.path.join(ruta_principal, nombre))]
... instrucción de síntesis que nos permite recorrer el directorio que contiene los expedientes y contar los directorios (expdientes) gracias a la función os.path.isdir().
En cuanro al resultado que obtenemos de aplicar esta función, el total es 482 expedientes, número suficiente para que nuestro análisis pueda considerarse representativo del número de expedientes y de la documentación que se puede manejar en un SEO.
El siguiente paso es conocer el número total de documentos de que constan esos expedientes, lo que nos proporciona una primera idea de su contenido, de cómo han sido tratados estos expedientes y de la utilidad que pueden tener para la finalidad que buscamos: facilitar el seguiento del alumnado.
Para realizar este cálculo vamos autilizar tambien un script de Python a modo de "herramienta".
from pathlib import Path
def contar_archivos_recursivos_pathlib(ruta_base):
# Convertimos la cadena en un objeto Path
path_principal = Path(ruta_base)
if not path_principal.exists():
return "La ruta no existe."
# rglob("*") busca TODO de forma recursiva (carpetas y archivos). Usamos una "comprensión de lista" para filtrar y contar
conteo = sum(
1 for elemento in path_principal.rglob("*")
if elemento.is_file() and elemento.parent != path_principal
)
return conteo
# --- Configuración ---
ruta = "Tu ruta" # Ecribe aquí la ruta de tu directorio
total = contar_archivos_recursivos_pathlib(ruta)
print(f"Total de archivos dentro de los subdirectorios: {total}")
También es este caso podemos identificar una expresión que resulta clave para el funcionamiento del script. En este caso es la expresión...
conteo = sum(1 for elemento in path_principal.rglob("*") if elemento.is_file() and elemento.parent != path_principal)
...en la que resulta clave la función elemento.is_file().
El resultado es un total de 3.777 archivos, lo que también resulta ser un volumen significativo de documentos; suficiente en principio para que su análisis arroje alguna luz sobre los expedientes SEO.
Conocidos los datos previos, podemos saber cual es la media de archivos por expediente, dato necesario para una primera aproximación al objetivo básico de este análisis: ¿sirven los expedientes SEO como recurso para proporcionar información relevante para el siguimiento del alumnado?. Ahora podríamos concretarlo como sigue: ¿cuentan los expedientes SEO del número suficiente de archivos como para ofrecer información relevante para el seguimiento del alumnado?. La respuesta cuantitativa es la siguiente: 3,68 archivos por expediente.
Realmente este número no nos permite responde a nuestra pregunta, ya que esos casi 4 archivos por expediente sitúan a nuestros expedientes en un nivel muy próximo al mínimo necesario para que, según la experiencia, se pueda considerar que un expediente contiene información suficiente para servir a nuestro objetivo. Realmente ese podría ser el mínimo de archivos resultante del inicio de una intervención, pero no para aquellas que llevan tiempo desarrollándose. Dico de otro modo: son pocos archivos por expediente, lo que supone, presumiblemente, que existen importantes disparidades en cuanto al contenido entre este conjunto de expedientes.
Y esa es precisamente la cuestión que debemos resolver ahora: conocer la composición real de cada uno de los expedientes en cuanto al número de archivos que contienen. Esto nos permitirá conocer el grado de homogeneidad vs. disparidad en la composición, dato éste de interés para pareciar también la nivel de sistematicidad con que se tratan los expedientes, cuestión esta que es clave para entender el planteamiento de trabajo del SEO al respecto y todo lo que de ello se puede derivar
Pero antes de analizar datos debemos disponer de ellos, cosa que aun no hemos resuelto.
Podemos ahordar esta tarea, igual que las dos precedentes, de forma manual, pero también mediante un script-herramienta Python. Definitivamente la opción manual queda descartada (disponiendo de un recurso eficiente de automatización), ya que su coste es muy elevado en tiempo, como tambien lo hubiera sido el recuento de archivos, aunque bien podríamos haberlo resuelto directamente mediante un recuento sistemático basado en la opción Propiedades del sistema operativo, o empleando la instrucción dir sobre cada carpeta-expediente.
Esta imagen muestra la primera opción, pero ambas comporten el mismo problema: aunque es un procedimiento que funciona, es realmente muy costoso en tiempo ejecutar este procedimiento cuanto el número de directorios es elevado, como es el caso. Como alternativa podemos hacer uso de los comandos del sistema operativo, creando incluso un archivo .bat, pero llegados a este extremo, la opción Python resulta más funcional.
import csv
from pathlib import Path
#ruta = Path('Tu_Ruta') # Definir aquí tu ruta
# Definimos la carpeta 'documentos' en el mismo nivel de directorio que este script
ruta_destino = Path(__file__).parent / 'documentos'
archivo_csv = ruta_destino / 'listado_archivos.csv'
ruta_destino.mkdir(exist_ok=True) # Nos aseguramos que la carpeta 'documentos' existe
datos_para_csv = []
if ruta.exists() and ruta.is_dir():
for carpeta in ruta.iterdir(): # Nos aseguramos que la carpeta 'documentos' existe
if carpeta.is_dir():
total_archivos = sum(1 for f in carpeta.rglob('*') if f.is_file()) # Contamos todos los archivos dentro de ESTA carpeta y sus subcarpetas usando rglob('*')
print(f"{carpeta.name} || {total_archivos}")
datos_para_csv.append([carpeta.name, total_archivos]) # Guardamos el nombre y el total como una fila
# Creación del archivo CSV
with open(archivo_csv, mode='a', newline='', encoding='utf-8') as f:
escritor = csv.writer(f)
if archivo_csv.stat().st_size == 0: # Verificamos que el csv está vacío y (en su caso) escribimos la cabecera
escritor.writerow(['Carpeta', 'Total_Archivos'])
escritor.writerows(datos_para_csv) # Escribimos los datos recolectados
print(f"\n✅ Listado guardado en: {archivo_csv}")
else:
print("La ruta 'Mi_Directorio' no es válida.")
Lo que ahora necesitamos es algo tan simple como un recuento expediente a expediente, que es lo que hace este script, que además archiva el resultado del recuento en un documento csv que contiene el listado de expedientes (identificador) y del número de archivos que contiene cada expediente. Se trata de crear la base de datos necesaria para el posterior análisis de datos, que requerirá acceder al citado archivo csv mediante un segundo script Python.
Para no repetir script, me voy a adelantar ahora a los resultados de ese futuro análisis mostrando el resultado de un primer análisis que resulta revelador de la realidad de nuestra muestra de datos. Muestro el gráfico resultante para ilustrar este primer análisis.
Considero que este gráfico, creado a partir del recuento de datos mediante la librería matplotlib muestra con claridad que nuestra muestra de expedientes se aleja bastante de la uniformidad que engañosamente parece indicar el promedio de archivos por expediente. Pero en realidad muestra mucho más. Veamos qué.
Cuando calculé el citado promedio dije que era un promedio bajo, demasiado próximo al mínimo suficiente (o no tanto) para considerar funcional a ese "expediente": si la documentación de que consta un expediente debe servir para proporcionar datos para el seguimiento del "caso", es necesario que conste de un número mínimo de archivos (además de otros requisitos que veremos en su momento), y es evidente que ni uno ni dos archivos alcanza ese mínimo, y bastante dudoso que tres archivos lo haga (diríamos que si y sólo sí se cumplen otras condiciones, pero de momento no vamos a entrar en estas cuestiones). Con cuatro archivos es posible que estemos ya dentro de posibles, en este caso, y al contrario que con tres, siempre que no se cumplan los criterios opuestos.
Y resulta que las dos mayores frecuencias observadas, y en orden, son precisamente esos valores: en nuestra distribución predominan ampliamente los expedientes que constan de 1 (99) y de 2 (64), en total 163 expedientes (prácticamente el 34% del total de los expedientes) no contienen el mínimo necesario de archivos para permitir (potencialmente) el cumlimiento del objetivo planteado. Pero tenemos, además, otros 43 expedientes cuya capacidad para lo mismo resulta dudosa. Esto eleva el total "inseguro" a cerca del 43% del total de los expedientes disponibles.
Aun con todo seguimos disponiendo de un total de 276 expedientes que, a priori, nos permiten avanzar en nuestro análisis, lo que nos deja un margen suficiente para dar respuesta a ese objetivo, pero los datos anteriores dicen algo más sobre el trabajo con los expedientes SEO: al menos en este caso concreto se puede observar que no existe en el SEO una praxis sistemática de trabajo con la documentación generada en la intervención, no siendo infrecuente (todo lo contrario) generar "expedientes" que me resisto a considerar tales, sin dar continuidad ni desarrollar un planteamiento de trabajo coherente con el mantenimiento (y mucho menos el uso) de dichos "agrupamientos de documentos".
De esto se puede derivar perfectamente que sólo esos 276 expedientes pueden ser considerados de utilidad para nuestro estudio; y en ese sentido vamos a reformular el conteo y posterior análisis de datos. Pero no está justificado que despreciemos sin más esa nada desdeñable cantidad de "carpetas" (ya que no expedientes) y los archivos que contienen (356) por más que, en este caso, representen sólo el 9.5% del total de archivos.
En consecuencia me propongo realizar dos análisis, aunque sólo uno de ellos (el segundo) seguirá la línea del objetivo inicialmente planteado:
- Primero. Analizar la composición documental de las carpetas de alumnos (antiguos expedientes con 1, 2 y 3 archivos)
- Segundo. Analizar los expedientes con potencial para serlo en términos de consecución del objetivo planteado: facilitar datos para el seguimeinto del alumnado
En una próxima entrada retomaré estos análisis.

