从 Databricks 上的 Jupyter 笔记本中的单元格复制的代码被缩短,并部分替换为三个点 (...)

Copied code from a cell in a Jupyter notebook on Databricks is shortened and partially replaced by three dots (...)

提问人:Wooly 提问时间:11/8/2023 更新时间:11/9/2023 访问量:40

问:

从一个 Jupyter 笔记本单元格复制代码提取并将其粘贴到另一个单元格中时,复制的代码将被部分省略,省略的部分将替换为三个点(单个字符三个点)。我在 Databricks 工作区(可通过 Web 浏览器访问)中运行笔记本。ctrl + cctrl + v

例如,假设笔记本中的单元格包含以下代码:

spark.sql(f"""
select 
  0 as somecolumn_0,
  1 as somecolumn_1,
  2 as somecolumn_2,
  3 as somecolumn_3,
  4 as somecolumn_4,
  5 as somecolumn_5,
  6 as somecolumn_6,
  7 as somecolumn_7,
  8 as somecolumn_8,
  9 as somecolumn_9,
  10 as somecolumn_10,
  0 as somecolumn_11,
  1 as somecolumn_12,
  2 as somecolumn_13,
  3 as somecolumn_14,
  4 as somecolumn_15,
  5 as somecolumn_16,
  6 as somecolumn_17,
  7 as somecolumn_18,
  8 as somecolumn_19,
  9 as somecolumn_20,
  10 as somecolumn_21
""")

当我复制代码并使用并尝试将其粘贴到另一个单元格中时,将粘贴以下代码:ctrl + cctrl + v

spark.sql(f"""
select 
  0 as somecolumn_0,
  1 as somecolumn_1,
  2 as somecolumn_2,
  3 as somecolumn_3,
  4 as somecolumn_4,
  5 as somecolumn_5,
  6 as somecolumn_6,
  7 as somecolumn_7,
…  7 as somecolumn_18,
  8 as somecolumn_19,
  9 as somecolumn_20,
  10 as somecolumn_21
""")

请注意,复制方式确实会产生正确的结果,即使粘贴了 .right click > copyctrl + v

预期的结果是,第一个代码段中的代码完全按原样粘贴。该问题似乎与笔记本没有特别的联系,因为其他用户完全能够使用所述的键盘快捷键在笔记本中复制和粘贴代码。具体来说,这个问题在其他笔记本中仍然存在。我还尝试使用不同的键盘来消除硬件原因。

任何想法,这可能是什么原因,以及如何解决它?

Jupyter-Notebook databricks keyboard-shortcuts copy-paste

评论

0赞 Wayne 11/9/2023
您可能想尝试此答案中有关列表或字符串的一些建议。这似乎可能与此处讨论的列表截断有关。另外,也许更重要的是,我在 Chrome 浏览器中访问的远程 linux 机器上运行的实际香草 Jupyter 中没有看到这一点。您是否在另一台机器上使用不同的浏览器尝试过同样的东西?
0赞 Wooly 11/9/2023
事发一天后,问题似乎自动解决了。不知道是什么触发了这个问题,是什么解决了它。

答:

0赞 artemeus 11/9/2023 #1

我有完全相同的问题,直到今天才注意到它。将就此与我们的 Databricks 代表联系。同时,唯一对我有用的解决方法是从上下文弹出窗口中使用复制。一旦我得到更多细节,我会更新答案。

希望这有帮助!

冗余上下文菜单屏幕截图

按下 Ctrl-C 时右上角出现烦人的三重弹出窗口

评论

0赞 Wooly 11/9/2023
太好了,谢谢!使用时我也有三重弹出窗口。ctrl + c