Notes de traitement par lots dans IPython Notebook

Très utile comme notebook IPython, analyse de données interactive et environnement de programmation. Et si vous l'utilisez lourdement, vous voudrez écrire et exécuter du code comme le traitement par lots. Je vais résumer comment exécuter le fichier .ipynb lorsque la note est enregistrée. Tout d'abord, deux.

Générez un fichier .py avec la commande ipython nbconvert

Avant que je le sache, nbconvert a été incorporé dans iPython lui-même.

ipython nbconvert mynote.ipynb --to=python

Par exemple, essayez d'exécuter la note de traitement par lots nocturne suivante sur nbconvert```.

スクリーンショット 2014-09-15 15.28.15.png

Notez que la source générée n'inclut pas le script de démarrage même si vous spécifiez le profil comme suit. En outre, le code qui suppose le mode pylab ne fonctionnera pas.

# coding: utf-8

# In[19]:

from pymongo import MongoClient
from datetime import timedelta, datetime


# In[26]:

#Gérer MongoDB local
con = MongoClient('localhost')
db = con['test']


# In[27]:

#Date à traiter(Agréger la veille après minuit)
process_date = datetime.now().date() - timedelta(days=1)
process_date


# In[28]:

xxx_count = 0
yyy_count = 0
with db.events.find({'time': {}}) as cur: # from-à la spécification est omis
    for doc in cur:
        pass
        #Une sorte d'agrégation


# In[ ]:

#Mise à jour du résultat de l'agrégation
db.daily_state.update({'date': process_date}, {'$set': 'values': {
    'xxx_count': xxx_count,
    'yyy_count': yyy_count
}})

Utilisez runipy pour exécuter en tant que fichier .ipynb

paulgb/runipy https://github.com/paulgb/runipy

Une commande qui analyse le fichier .ipynb et exécute le code Python à l'intérieur dans ipython dans l'ordre.

runipy mynote.ipynb

Similaire à nbconvert, mais peut afficher le résultat après l'exécution sous forme de fichier HTML. Il peut être utilisé à des fins telles que charger cron et générer des rapports quotidiens. Vous pouvez également transmettre des paramètres arbitraires utilisés dans le script python à partir de la ligne de commande. Cependant, il est difficile à utiliser si vous utilisez pleinement le paramètre de ipython_notebook_config.py car vous ne pouvez pas spécifier le profil d'IPython.

Il est peu pratique que Profile ne puisse pas être spécifié, donc la version qui vous permet de spécifier --profile-dir en forçant a déjà été extraite.

hagino3000/runipy https://github.com/hagino3000/runipy

Le développement de runipy semble stagner, donc ceux qui veulent l'utiliser devraient s'engager de toutes leurs forces.

Recommended Posts

Notes de traitement par lots dans IPython Notebook
Comment faire revivre des cellules dans le notebook iPython
installation du notebook ipython
Recommandations du notebook IPython
Utiliser les raccourcis clavier emacs ou vim dans le notebook IPython
Traitement de fichiers en Python
Traitement multithread en python
Traitement des requêtes en Python
Procédure d'exécution de TensorFlow dans le traitement par lots de Spacon ITO
Connecter à distance un notebook IPython
Comment importer NoteBook en tant que module dans Jupyter (IPython)
Comment importer NoteBook en tant que module dans Jupyter (IPython)
Traitement de texte UTF8 avec python
Calcul parallèle avec le notebook iPython
Afficher le HTML dans le notebook Jupyter
Erreur de multitraitement dans Jupyter Notebook
Affichage des chaînes sur le notebook IPython
Traitement asynchrone (threading) en python
Comment utiliser IPython Notebook
Jouer avec Jupyter Notebook (IPython Notebook)
Lancez le serveur de notebook IPython
Collection de traitement d'image en Python
Exécutez Apache-Spark sur le notebook IPython
Traitement asynchrone du céleri dans Flask
Exécutez IPython Notebook sur Docker
Obtenez des notes Evernote en Python
Remarques sur imshow () d'OpenCV
Dessin graphique avec IPython Notebook
Utilisation du mode Python dans le traitement
Utilisation de Bokeh avec IPython Notebook