【问题标题】:Multiple Cells in One Loop Jupyter Notebook一个循环中的多个单元格 Jupyter Notebook
【发布时间】:2022-08-10 16:52:15
【问题描述】:

我在 jupyter notebook 的不同单元格中编写了多个代码。第一个单元格包含我需要执行任务的文件名。我在 jupyter notebook 中运行循环时遇到困难,因为我想逐个文件执行操作。即首先将 file1 遍历所有单元格,然后返回寻找 file2 等等。

我知道有人问过Link1 类似的问题,但我不确定如何在 jupter 中完成,因为我知道在 spyder 中我们可以缩进 for 循环,它会一直运行到我们完成所有任务然后跳转到另一个,但在 jupyter 中似乎很困难,因为它是逐个单元操作的。

Cell 1 file_names = [\'file1\',\'file2\',\'file3\']
Cell 2 a = []
Cell 3 for file in file_names:
           a.append(file)
  • 不能一个一个地执行所有的单元格吗?或者更好 - 将所有代码放在一个单元格中?我不认为我理解问题所在
  • 我可以逐个单元格地执行,但这不是我想要的。我想像我们在 spyder 中一样一次性运行,但 Jupyter 的问题是逐个单元操作,当我们运行时它不知道默认情况下要处理哪个文件,它需要最后一个文件并运行.
  • 这就是木星的运作方式。只需将所有内容放在一个单元格中并运行即可。

标签: python jupyter-notebook


【解决方案1】:

您将代码分配给单元格很好(即这是众多可能性中的一种)。

您在单元格 1 和 2 中定义变量并在单元格 3 中执行循环。您的文件处理仅在单元格 3 中进行。

当然,每个单元格都必须包含有效的 Python 语法(在 spyder 中打开的脚本也必须如此)。这意味着for-loop 的主体必须正确缩进。

【讨论】:

  • 因此,我可以在 Spyder 中执行此操作,然后 for 循环在 for-- 循环中缩进的剩余代码段。我不明白如何在 Jupyter 中做同样的事情,因为它是一个单元一个单元的操作,如果我一次运行它只会拾取循环中的最后一个文件。
  • 如果您以正确的顺序(1 → 2 → 3)运行所有单元格,那么脚本(从 spyder 运行)和笔记本之间基本上没有区别。当然,您必须将完整的循环放在一个单元格中。不要混淆细胞线条.一个单元格可以包含任意多行。如果它仍然不起作用,请编辑您的问题并添加错误消息和/或屏幕截图。
【解决方案2】:

虽然已经很晚了,但这里有一个关于 jupyter notebook 中多个单元格循环的答案: Run parts of a ipython notebook in a loop / with different input parameter

【讨论】:

    猜你喜欢
    • 2021-09-20
    • 1970-01-01
    • 1970-01-01
    • 2018-10-31
    • 2018-09-04
    • 1970-01-01
    • 1970-01-01
    • 2020-09-05
    • 1970-01-01
    相关资源
    最近更新 更多