Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

pandas.read_clipboard from cloud-hosted jupyter?

I am running a Data8 instance of JupyterHub running JupyterLab on a server, and pd.read_clipboard() does not seem to work. I see the same problem in google colab.

import pandas as pd
pd.read_clipboard()

errors out like so:

---------------------------------------------------------------------------
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

Is there a way to get this working?

like image 969
Nathan Lloyd Avatar asked Nov 09 '18 23:11

Nathan Lloyd


1 Answers

No. The machine is run in the cloud. Python from there cannot access your local machine to get clipboard content.

I tried Javascript clipboad api, but it didn't work probably because the output is in an iframe which isn't allow access to clipboard either. If it did, this would have worked

from google.colab.output import eval_js
text = eval_js("navigator.clipboard.readText()")
like image 168
korakot Avatar answered Sep 18 '22 23:09

korakot