[PYTHON] Convertir .ipynb en .html (avec BatchFile)

Conclusion

--Mettez un fichier batch et cliquez! Ensuite, j'ai fait quelque chose qui convertit le .ipynb directement en dessous en html.

demo

Contexte

――Il est difficile de démarrer un serveur local et d'ouvrir un notebook à chaque fois pour vérifier le contenu d'une grande quantité de .ipynb envoyés. De plus, si vous travaillez dans un répertoire différent pour d'autres entreprises, vous devrez mettre en place un certain nombre de serveurs locaux, ce qui ne sera pas l'entreprise.

Méthode existante

--Méthode 1: Convertir @yorshka .ipynb en .html

jupyter nbconvert --to html hoge.ipynb
  • Méthode 2: Officiel: Personnalisation de nbconvert --htmlized à l'aide de template ("simplepython.tpl" dans l'exemple ci-dessous). Avec cette méthode, la table des matières de nbextension telle que toc2 peut être incluse au format html.
jupyter nbconvert --to python 'example.ipynb' --stdout --template=simplepython.tpl
  • Méthode 3: Ouvrez et enregistrez noebook sur LocalServer スクリーンショット 2020-02-11 12.53.25.png

Problèmes / problèmes qui ne peuvent pas être résolus

――C'est douloureux quand il faut voir beaucoup de .ipynb --Oubliez le chemin dans template.tpl

  • Le mouvement du répertoire est gênant
  • Vous devez mettre différents packages (jupyter, nbconvert, nbextensions, toc2.tpl etc ...) dans l'environnement python. (Je veux que l'environnement soit simple!)
  • ↑ Je ne me souviens plus de l'existence du paquet car j'ai créé un environnement virtuel et je l'ai remplacé de temps en temps.

approche

Implémentez le traitement basé sur l'interface graphique. (Combinaison des commandes de méthode existantes dans un fichier exécutable.)

  • Le paquet utilisé --pyinstaller: 1 Créer un fichier exécutable --jupyter: utilisez des fonctions telles que nbconvert pour convertir en texte-> format notebook-> html --jinja2: utilisé lors du chargement de template.tpl
  • Différents modèles chargés par jinja2 lors du lancement du notebook jupyter tels que toc2.tpl, full.tpl ...:

――Si vous avez envie du contenu spécifique, je vais l'ajouter - git link

Effet / conclusion

  • Cela fonctionne correctement jusqu'à présent, et il est pratique d'être converti en html en 5 secondes.
  • Les défis restants
  • La taille du fichier est grande (environ 50 Mo) et cela met la pression sur le disque dur.
  • Le temps de traitement est long. Si possible, je veux que vous finissiez la conversion html en environ 0,5 seconde.

Bonus (là où je suis resté coincé)

  • J'ai eu du mal à intégrer les modèles dans le fichier batch.
    Parce que pyinstaller n'a pas reconnu le fichier modèle suivant. C'est un fichier essentiel pour que jinja2 convertisse du texte en html.

    • toc2.tpl
    • full.tpl
    • nbextensions.tpl
    • mathjax.tpl
    • celltags.tpl
  • Pour résoudre ↑, j'ai codé en dur .tpl et créé un fichier à lire sous forme de chaîne. (Data_tpl.py) Il semble que pyinstaller reconnaisse .pyfile sans autorisation. ―― Après cela, si vous convertissez le modèle lu par chaîne avec jinja2.dictLoader, vous pouvez hériter de jinja2 ({% -extends'hogehoge.html '%}) sans autorisation.

Recommended Posts

Convertir .ipynb en .html (avec BatchFile)
Convertir 202003 en 2020-03 avec les pandas
Convertir le HTML en fichier texte
Standardiser le HTML à louer avec Django
convertir un graphique basé sur ggplot en html
Convertir la liste en DataFrame avec python
Convertir des phrases en vecteurs avec gensim
Convertir un PDF en image avec ImageMagick
Télécharger le logo Google → Texte avec OCR → Affichage sur HTML
Convertir un mémo à la fois avec Python 2to3
mail html avec image à envoyer avec python
Convertir de PDF en CSV avec pdfplumber
Convertir des chaînes de caractères en quantités de caractéristiques avec RoBERTa
Convertir des données Excel en JSON avec python
Convertir Hiragana en Romaji avec Python (bêta)
Convertissez des données FX 1 minute en données 5 minutes avec Python
Convertir des fichiers PDF en fichiers PNG avec GIMP
Convertir un tableau (struct) en json avec golang
Convertir des nombres chinois en nombres arabes avec Python
Convertir de Markdown en HTML en Python
Exemple de conversion en ondelettes d'images en Python
Convertir en HSV
J'ai créé un outil pour convertir Jupyter py en ipynb avec VS Code
Conversion DICOM en PNG avec ordre croissant et décroissant
Convertissez les données avec la forme (nombre de données, 1) en (nombre de données,) avec numpy.
Convertir un PDF en image (JPEG / PNG) avec Python
Convertissez des PDF en images en masse avec Python
Convertir mp4 en mp3 avec ffmpeg (version miniature intégrée)
Convertir un fichier svg en png / ico avec Python
Convertir les valeurs d'époque Windows à ce jour avec python
Convertissez facilement les notebooks Jupyter en blogs avec Fastpages
Comment convertir (32,32,3) en tenseur à 4 dimensions (1,32,32,1) avec le type ndarray
Convertir une chaîne au format de liste caractère par caractère avec python
Convertir le fichier .ipynb du notebook jupyter en fichier .py exécutable python
Je veux convertir une image en WebP avec sucette
Comment convertir / restaurer une chaîne avec [] en python
0 Convertir une date non remplie en type datetime avec une expression régulière
Convertir les kanji en kana
Convertir un fichier texte avec des valeurs hexadécimales en fichier binaire
Comment convertir des données détenues horizontalement en données détenues verticalement avec des pandas
Comment convertir un objet de classe en dictionnaire avec SQLAlchemy
Convertir jupyter en py
Convertir keras-yolo3 en ONNX
Convertissez l'image au format .zip en PDF avec Python
Comment convertir un fichier JSON en fichier CSV avec Python Pandas
Convertir dict en tableau
Mémorandum PyInstaller Convertit Python [.py] en [.exe] avec 2 lignes
Convertir json en Excel
Convertissez les variables numériques en variables catégorielles avec les pandas en définissant un seuil
Convertir la requête Select obtenue de Postgre avec Go en JSON
Comment convertir un tableau en dictionnaire avec Python [Application]
Convertir l'espace colorimétrique RVB en CIELAB avec PIL (Pillow)
Double-cliquez sur ipynb dans l'environnement windows + anaconda pour l'ouvrir dans jupyter-notebook
Convertir des images en sépia avec PIL (Python Imaging Library)
Convertissez des images numérisées déformées en PDF avec Pillow et PyPDF
Convertir une vidéo en noir et blanc avec ffmpeg + python + opencv
Essayez de défier le sol par récursif
Connectez-vous à BigQuery avec Python
Convertir une chaîne hexadécimale en binaire
[python] Convertir la date en chaîne