10.- Script de Python 3 para rescatar de todos los archivos con extensión ".txt" en la ruta "D:\aaa" los datos de la columna "Free energy, Kcal/mol" y juntarlos en un fichero de texto separado por columnas, de modo que la primera fila de cada columna contenga el nombre del fichero *.txt de partida.


    import os
    import pandas as pd
    
    def leer_archivos_y_extraer_columna(ruta_entrada, extension):
        # Diccionario para almacenar los datos de la columna "Free energy, Kcal/mol" por archivo
        datos_por_archivo = {}
        # Lista para almacenar los nombres de los archivos
        nombres_archivos = []
        
        # Recorremos los archivos en la ruta de entrada
        for archivo in os.listdir(ruta_entrada):
            # Verificamos si el archivo tiene la extensión deseada
            if archivo.endswith(extension):
                # Construimos la ruta completa al archivo
                ruta_completa = os.path.join(ruta_entrada, archivo)
                try:
                    # Leemos el archivo y almacenamos la columna "Free energy, Kcal/mol" en el diccionario
                    df = pd.read_csv(ruta_completa, sep='\t')
                    if "Free energy, Kcal/mol" in df.columns:
                        datos_por_archivo[archivo] = df["Free energy, Kcal/mol"]
                        nombres_archivos.append(archivo)
                    else:
                        print(f"La columna 'Free energy, Kcal/mol' no existe en el archivo '{archivo}'. Saltando este archivo.")
                except Exception as e:
                    print(f"No se pudo leer el archivo '{archivo}': {e}")
        
        return datos_por_archivo, nombres_archivos
    
    def guardar_a_archivo(datos_por_archivo, nombres_archivos, ruta_salida):
        # Creamos un DataFrame a partir del diccionario de datos
        df_resultado = pd.DataFrame(datos_por_archivo)
        # Reemplazamos los encabezados de columna por los nombres de archivo correspondientes
        df_resultado.columns = nombres_archivos
        # Guardamos el DataFrame en un archivo separado por tabuladores
        df_resultado.to_csv(ruta_salida, sep='\t', index=False)
    
    # Rutas de entrada y salida
    ruta_entrada = r"D:\aaa"
    ruta_salida = r"D:\aaa\_todas-columnas_Free-energy-Kcal-mol.txt"
    
    # Extension de los archivos a leer
    extension = ".txt"
    
    # Leemos los archivos y extraemos los valores de la columna "Free energy, Kcal/mol"
    datos_por_archivo, nombres_archivos = leer_archivos_y_extraer_columna(ruta_entrada, extension)
    if datos_por_archivo:
        # Si se encontraron datos, los guardamos en el archivo de salida
        guardar_a_archivo(datos_por_archivo, nombres_archivos, ruta_salida)
        print("Proceso completado. Se ha generado el archivo de salida en:", ruta_salida)
    else:
        print("No se encontraron datos para procesar.")