Как я могу скопировать фрейм данных в буфер обмена (или обходной путь) из Google Colab Laboratory? - PullRequest
0 голосов
/ 04 ноября 2019

Я создаю веб-скребок для нетехнического пользователя в колаборатории Google и хочу, чтобы выходные данные этого скребка в виде pandas фрейма данных были "copy pastable" содиночная встроенная команда.

Выполнение df.to_clipboard() приводит к следующей ошибке:

/usr/local/lib/python3.6/dist-packages/pandas/core/generic.py in to_clipboard(self, excel, sep, **kwargs)
   2827         from pandas.io import clipboards
   2828 
-> 2829         clipboards.to_clipboard(self, excel=excel, sep=sep, **kwargs)
   2830 
   2831     def to_xarray(self):

/usr/local/lib/python3.6/dist-packages/pandas/io/clipboards.py in to_clipboard(obj, excel, sep, **kwargs)
    118             text = buf.getvalue()
    119 
--> 120             clipboard_set(text)
    121             return
    122         except TypeError:

/usr/local/lib/python3.6/dist-packages/pandas/io/clipboard/clipboards.py in __call__(self, *args, **kwargs)
    122     class ClipboardUnavailable:
    123         def __call__(self, *args, **kwargs):
--> 124             raise PyperclipException(EXCEPT_MSG)
    125 
    126         def __bool__(self):

PyperclipException: 
PyperclipException: 
    Pyperclip could not find a copy/paste mechanism for your system.
    For more information, please visit https://pyperclip.readthedocs.org 

Мой вопрос похож на этот вопрос: панд. read_clipboard от размещенного в облаке jupyter? Хотя мой Q относится к Google Colab - я подозреваю, что есть встроенный обходной путь ...

1 Ответ

0 голосов
/ 04 ноября 2019

Получил ответ!

Не интуитивно понятно, но находится в документации Google Colab:

from google.colab import files

with open('example.csv', 'w') as f:
  f.write(df.to_csv())

files.download('example.csv')
...