Обмен данными между IPython Notebooks

Если у меня есть несколько ноутбуков IPython, работающих на одном сервере. Есть ли способ обмена данными между ними? Например, импортирование переменной из другого ноутбука? Благодарю!

Ответ 1

Это работает для меня:

Команда% store позволяет передавать переменные между двумя различными ноутбуками.

data = 'это строка, которую я хочу передать в хранилище данных для разных ноутбуков%

Теперь, в новом ноутбуке...% store -r data print (data) это строка, которую я хочу передать в другой блокнот

Я успешно прошел тестирование с помощью набора данных sklearn:

from sklearn import datasets

dataset = datasets.load_iris()

%store dataset

в записной книжке для чтения данных:

%store -r dataset

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

Ответ 2

Если ваши данные находятся в одной переменной, попробуйте сохранить его в файл, используя магию %save в одном ноутбуке, а затем прочитав его обратно в другом.

Одна из трудностей состоит в том, что текстовый файл будет содержать данные, но не имеет определения переменной, поэтому я обычно свяжу его с определением переменной, а затем exec результат.

Ответ 3

IPython поддерживает магию %store (вот документация). Кажется, что те же ограничения рассола: если файл можно мариновать, он также будет сохраняться.

В любом случае, это будет работать с обычными типами Python. Вот базовый пример:

var_1 = [1,2,3,4] #list
var_2 = {'a':1,'b':2,'c':3} #dict
var_3 = (6,7,8) #tuple
var_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)

Тогда на другом ноутбуке IPython будет достаточно ввести:

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

Ответ 4

Я считаю, что теоретически вы должны быть в состоянии сделать это с помощью обмена сообщениями, хотя мне придется копать намного глубже, чтобы понять это.

Зачем вам нужна эта возможность?