如果我在同一台服务器上运行多个 IPython 笔记本。有没有办法在他们之间共享数据?例如,从另一个笔记本导入变量?谢谢!
问问题
31335 次
5 回答
54
这对我有用:
%store 命令允许您在两个不同的笔记本之间传递变量。
data = '这是我要传递给不同笔记本的字符串' %store data
现在,在一个新笔记本中...... %store -r data print(data) 这是我要传递给不同笔记本的字符串
我已经成功测试了 sklearn 数据集:
from sklearn import datasets
dataset = datasets.load_iris()
%store dataset
在笔记本中读取数据:
%store -r dataset
源代码:https ://www.dataquest.io/blog/jupyter-notebook-tips-tricks-shortcuts/
于 2017-02-01T13:39:19.730 回答
6
IPython 支持%store
魔法(这里是文档)。它似乎具有相同的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
于 2018-06-20T15:39:13.110 回答
2
如果您的数据位于单个变量中,请尝试在%save
一个笔记本中使用魔法将其保存到文件中,然后在另一个笔记本中将其读回。
一个困难是文本文件将包含数据但没有变量定义,所以我通常用变量定义和exec
结果来连接它。
于 2015-07-26T23:45:04.997 回答
0
我相信理论上你应该能够通过消息传递来做到这一点,尽管我必须深入挖掘才能弄清楚。
为什么你需要这种能力呢?
于 2015-07-25T00:08:15.613 回答