来自云托管的 jupyter 的 pandas.read_clipboard?
Posted
技术标签:
【中文标题】来自云托管的 jupyter 的 pandas.read_clipboard?【英文标题】:pandas.read_clipboard from cloud-hosted jupyter? 【发布时间】:2019-04-13 12:57:36 【问题描述】:我在服务器上运行 JupyterHub 的 Data8 实例,而 pd.read_clipboard()
似乎不起作用。我在 google colab 中看到了同样的问题。
import pandas as pd
pd.read_clipboard()
错误如下:
---------------------------------------------------------------------------
PyperclipException Traceback (most recent call last)
<ipython-input-2-8cbad928c47b> in <module>()
----> 1 pd.read_clipboard()
/opt/conda/lib/python3.6/site-packages/pandas/io/clipboards.py in read_clipboard(sep, **kwargs)
29 from pandas.io.clipboard import clipboard_get
30 from pandas.io.parsers import read_table
---> 31 text = clipboard_get()
32
33 # try to decode (if needed on PY3)
/opt/conda/lib/python3.6/site-packages/pandas/io/clipboard/clipboards.py in __call__(self, *args, **kwargs)
125
126 def __call__(self, *args, **kwargs):
--> 127 raise PyperclipException(EXCEPT_MSG)
128
129 if PY2:
PyperclipException:
Pyperclip could not find a copy/paste mechanism for your system.
For more information, please visit https://pyperclip.readthedocs.org
有没有办法让它工作?
【问题讨论】:
Pyperclip 使用特定于您的操作系统的“复制/粘贴机制”来进行实际的复制和粘贴。因此,它仅在直接在 Windows/macOS/Linux 系统上运行时才有效。我不确定 JupyterHub 是否有解决方法。 【参考方案1】:没有。机器在云端运行。那里的 Python 无法访问您的本地计算机以获取剪贴板内容。
我尝试了 javascript 剪贴板 api,但它不起作用,可能是因为输出位于 iframe 中,也不允许访问剪贴板。如果是这样,那就行了
from google.colab.output import eval_js
text = eval_js("navigator.clipboard.readText()")
【讨论】:
以上是关于来自云托管的 jupyter 的 pandas.read_clipboard?的主要内容,如果未能解决你的问题,请参考以下文章
在 GCE 托管的 google colab Jupyter notebook 上安装 R 包