Share data between IPython Notebooks Share data between IPython Notebooks python python

Share data between IPython Notebooks


This works for me :

The %store command lets you pass variables between two different notebooks.

data = 'this is the string I want to pass to different notebook' %store data

Now, in a new notebook… %store -r data print(data) this is the string I want to pass to different notebook

I've successfully tested with sklearn dataset :

from sklearn import datasetsdataset = datasets.load_iris()%store dataset

in notebook to read data :

%store -r dataset

src : https://www.dataquest.io/blog/jupyter-notebook-tips-tricks-shortcuts/


Notebooks in Jupyter Lab can share the same kernel. In your notebook you can choose the kernel of another notebook and variables from the other notebook will be available in both notebooks.

screenshot Jupyter Lab kernel selection popup

  1. Click on the button that describes your current kernel.
  2. Choose the kernel of the other notebook, whose variables you want to access.


IPython supports the %store magic (here is the documentation). It seems to have the same constraints of pickle: if the file can be pickled it will also be storable.

Anyway, it will work for sure with common Python types. Here's a basic example:

var_1 = [1,2,3,4] #listvar_2 = {'a':1,'b':2,'c':3} #dictvar_3 = (6,7,8) #tuplevar_4 = {'d','e','f'} #set%store var_1%store var_2%store var_3%store var_4
 Stored 'var_1' (list) Stored 'var_2' (dict) Stored 'var_3' (tuple) Stored 'var_4' (set)

Then on a different IPython notebook it will be sufficient to type:

%store -r var_1 %store -r var_2 %store -r var_3 %store -r var_4