【发布时间】:2020-01-24 19:04:51
【问题描述】:
如果我有一个带有以下脚本的 python 文件:
import pandas as pd
def csv():
r = pd.DataFrame([[1,2,3,6],[1,3,4,5]])
return r
csv()
如何在 Jupyter Notebook 中使用 shell 命令来获取此脚本的输出,即 pandas DataFrame。或者我如何修改python脚本来这样做,但仍然在Jupyter中使用shell命令(出于某种原因,我需要一个shell命令,而不是仅仅从python文件中导入函数并执行它)
到目前为止我尝试的是以下但没有工作(希望 Pandas DataFrame 作为输出)
import subprocess
result = subprocess.run(['python','MyPythonFile.py'], stdout=subprocess.PIPE)
或
result = ! python MyPythonFile.py
【问题讨论】:
-
你想要
=! -
第一个 Python 脚本不产生任何输出。它需要在某个地方调用
print(),例如print(csv()) -
@inspectorG4dget
=!应该是什么意思? -
@inspectorG4dget 没有任何区别。
-
@Barmar Print 不返回 pandas DataFrame 对象。这 ”!”是一种特定于 jupyter 的魔法,可以在其中运行 shell 命令。
标签: python shell command-line terminal jupyter-notebook