Получение выходных данных команды оболочки в Jupyter Notebook - PullRequest
0 голосов
/ 24 сентября 2019

Если у меня есть файл python с приведенным ниже сценарием:

import pandas as pd

def csv():

    r = pd.DataFrame([[1,2,3,6],[1,3,4,5]])
    return r

csv()

Как я могу использовать команду оболочки в Jupyter Notebook, чтобы получить выходные данные этого сценария, который представляет собой DataFrame pandas.Или Как мне изменить скрипт python, чтобы сделать это, но при этом использовать команду оболочки в Jupyter (по какой-то причине мне нужна команда оболочки, а не просто импорт функции из файла python и ее выполнение)

Что ядо сих пор пробовал следующее, но не сработало (хотите, чтобы Pandas DataFrame выводился)

import subprocess
result = subprocess.run(['python','MyPythonFile.py'], stdout=subprocess.PIPE)

или

result = ! python MyPythonFile.py

1 Ответ

0 голосов
/ 24 сентября 2019

Доступ к аргументу "stdout" результата:

import subprocess
result = subprocess.run(['python','MyPythonFile.py'], stdout=subprocess.PIPE)
print(result.stdout)

Редактировать: вы не можете передать DataFrame через стандартный вывод Unix.DataFrame - это объект Python, который не имеет значения для операционной системы.Используйте импорт, чтобы выполнить свой код внутри другого скрипта Python или экспортировать сгенерированные объекты с помощью pickle или аналогичного.То, чего вы пытаетесь достичь, невозможно, если вы полностью не измените свою стратегию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...