如果我在同一台服务器上运行多个IPython笔记本。有没有办法在它们之间共享数据?例如,从另一个笔记本导入变量?谢谢!
答案 0 :(得分:28)
这对我有用:
%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/
答案 1 :(得分:2)
IPython支持%store
魔术(here is the documentation)。似乎具有与pickle相同的约束条件:如果可以对文件进行腌制,则它也可以存储。
无论如何,它可以肯定地与常见的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
答案 2 :(得分:2)
Jupyter Lab中的笔记本可以共享相同的内核。在您的笔记本中,您可以选择另一个笔记本的内核,另一个笔记本中的变量将在两个笔记本中均可用。
答案 3 :(得分:1)
如果您的数据位于单个变量中,请尝试使用一个笔记本中的%save
魔法将其保存到文件中,然后在另一个笔记本中将其读回。
一个难点是文本文件将包含数据但没有变量定义,因此我通常将其与变量定义相连,然后exec
结果。
答案 4 :(得分:0)
我相信理论上你应该能够messaging这样做,不过我需要深入挖掘才能弄明白。
为什么你需要这种能力?