Combinar varios archivos Jupyter Notebook en uno

Publicado el 21 noviembre 2022 por Daniel Rodríguez @analyticslane

En una entrada reciente se ha visto cómo se puede dividir de forma automática un archivo Jupyter Notebook en varios. Gracias al paquete nbmanips. Pudiéndose emplear como criterio de separación los índices, el número de celdas o etiquetas. Algún lector me ha comentado si también es posible combinar varios archivos Jupyter Notebook automáticamente, sin la necesidad de copiar y pegar el código. Lo que puede ser de gran utilidad, por ejemplo, para combinar los análisis de varios compañeros en un único documento. Afortunadamente, esta es una tarea que también se puede realizar con las herramientas del paquete nbmanips.

Instalación del paquete necesario

Antes de poder combinar varios archivos Jupyter en uno es necesario instalar nbmanips. Si habéis leído la entrada anterior explica cómo dividir un archivo posiblemente ya la tengas instalada, algo que se puede comprobar escribiendo en la terminal

nb --version

En el caso de tener instalado el paquete devolverá la versión, en caso contrario un error indicando que el comando no se ha encontrado. Si el paquete no se encuentra instalado en la máquina, esto se puede hacer escribiendo el siguiente comando en la terminal

pip install nbmanips

Ahora, si todo ha ido correctamente, ya debería funcionar la ejecución del comando nb.

Combinar varios archivos Jupyter

La herramienta nb que se ha instalado en la sección anterior dispone del comando cat con el que es posible concatenar dos o más archivos. Así, solamente se tiene que escribir en la terminal el comando

nb cat modelo-1.ipynb modelo-2.ipynb -o modelos.ipynb

Lo que guardará en el archivo modelos.ipynb el contenido de modelo-1.ipynb y modelo-2.ipynb. Salvo que el archivo de destrón exista, en tal caso es necesario usar la opción --force en el comando para que lo sobreescriba.

Por otro lado, también se puede cambiar más de dos archivos simplemente indicando estos en el comando

nb cat modelo-1.ipynb modelo-2.ipynb modelo-3.ipynb -o modelos.ipynb

Conclusiones

En esta entrada se ha visto como mendígate el uso de nbmanips se pueden combinar varios archivos Jupyter Notebook en uno. Permitiendo de esta manera guardar el trabajo realizado en varios documentos en uno solo de forma automática, sin la necesidad de copiar y pegar el código y volver a ejecutar los comandos.

Imagen de PublicDomainPictures en Pixabay