文件和输出格式#

JupyterLab 提供了一个统一的架构,用于查看和编辑各种格式的数据。无论数据是在文件中还是由内核作为笔记本或代码控制台中的富文本单元输出提供,此模型都适用。

对于文件,数据格式由文件的扩展名(或如果没有扩展名则由整个文件名)检测。单个文件扩展名可能注册了多个编辑器或查看器。例如,Markdown 文件 (.md) 可以使用文件编辑器进行编辑,也可以呈现并显示为 HTML。您可以通过在文件浏览器中右键单击文件名并使用“使用打开”子菜单来打开文件的不同编辑器和查看器。

要将这些不同的数据格式用作笔记本或代码控制台中的输出,您可以使用您正在使用的内核的相关显示 API。例如,IPython 内核提供各种用于显示富文本输出的便利类。

from IPython.display import display, HTML
display(HTML('<h1>Hello World</h1>'))

运行此代码将在笔记本或代码控制台单元的输出中显示 HTML。

IPython 显示函数还可以从键(MIME 类型)和值(MIME 数据)字典构建原始富文本输出消息。

from IPython.display import display
display({'text/html': '<h1>Hello World</h1>', 'text/plain': 'Hello World'}, raw=True)

其他 Jupyter 内核提供类似的 API。

本节的其余部分重点介绍了一些 JupyterLab 默认支持的常见数据格式。JupyterLab 扩展还可以添加对其他文件格式的支持。

Markdown#

  • 文件扩展名:.md

  • MIME 类型:text/markdown

Markdown 是一种简单且流行的标记语言,用于 Jupyter Notebook 中的文本单元。

Markdown 文档可以作为文本文件进行编辑,也可以内联呈现。

此模式下支持的 Markdown 语法与 Jupyter Notebook 中使用的语法相同(例如,LaTeX 方程式有效)。如动画所示,对 Markdown 源代码的编辑会立即反映在呈现的版本中。

图像#

  • 文件扩展名:.bmp, .gif, .jpeg, .jpg, .png, .svg

  • MIME 类型:image/bmp, image/gif, image/jpeg, image/png, image/svg+xml

JupyterLab 支持单元输出中的图像数据以及上述格式的文件。在图像文件查看器中,您可以使用键盘快捷键,例如 +- 来缩放图像,[] 来旋转图像,以及 HV 来水平和垂直翻转图像。使用 I 反转颜色,使用 0 重置图像。

要将 SVG 图像作为文本文件编辑,请在文件浏览器中右键单击 SVG 文件名,然后在“打开方式”子菜单中选择“编辑器”项。

分隔符分隔值#

  • 文件扩展名:.csv

  • MIME 类型:无

包含分隔符分隔值的行(如 CSV 文件)的文件是表格数据的常见格式。JupyterLab 中这些文件的默认查看器是一个高性能数据网格查看器,可以显示逗号分隔、制表符分隔和分号分隔的值。

虽然制表符分隔值文件可以被网格查看器读取,但它目前不会自动识别 .tsv 文件。要查看,您必须将扩展名更改为 .csv 并将分隔符设置为制表符。

要将 CSV 文件作为文本文件编辑,请在文件浏览器中右键单击该文件,然后在“打开方式”子菜单中选择“编辑器”项。

JupyterLab 的网格查看器可以打开大型文件,最大可达特定浏览器的最大字符串大小。以下是表格,显示了我们在支持的每个浏览器中成功打开的最大测试文件的大小。

浏览器

最大尺寸

Firefox

1.04GB

Chrome

730MB

Safari

1.8GB

实际可以成功加载文件的最大尺寸会因浏览器版本和文件内容而异。

JSON#

  • 文件扩展名:.json

  • MIME 类型:application/json

JavaScript 对象表示法 (JSON) 文件在数据科学中很常见。JupyterLab 支持在单元格输出中显示 JSON 数据,或使用可搜索的树形视图查看 JSON 文件。

要将 JSON 作为文本文件编辑,请在文件浏览器中右键单击文件名,然后在“打开方式”子菜单中选择“编辑器”项。

HTML#

  • 文件扩展名:.html

  • MIME 类型:text/html

JupyterLab 支持在单元格输出中渲染 HTML,并在文件编辑器中将 HTML 文件作为文本编辑。

LaTeX#

  • 文件扩展名:.tex

  • MIME 类型:text/latex

JupyterLab 支持在单元格输出中渲染 LaTeX 公式,并在文件编辑器中将 LaTeX 文件作为文本编辑。

PDF#

  • 文件扩展名:.pdf

  • MIME 类型:application/pdf

PDF 是文档的常见标准文件格式。要在 JupyterLab 中查看 PDF 文件,请在文件浏览器中双击该文件。

Vega/Vega-Lite#

Vega

  • 文件扩展名:.vg.vg.json

  • MIME 类型:application/vnd.vega.v5+json

Vega-Lite

  • 文件扩展名:.vl.vl.json

  • MIME 类型:application/vnd.vegalite.v3+json

Vega 和 Vega-Lite 是声明式可视化语法,使可视化能够被编码为 JSON 数据。有关更多信息,请参阅 Vega 或 Vega-Lite 的文档。JupyterLab 支持在文件和单元格输出中渲染 Vega 5.x 和 Vega-Lite 3.x 数据。

Vega-Lite 1.x 文件,扩展名为 .vl.vl.json,可以通过在文件浏览器中双击该文件来打开。

这些文件也可以通过文件浏览器内容菜单中的“打开方式...”子菜单在 JSON 查看器或文件编辑器中打开。

与 JupyterLab 中的其他文件一样,单个文件的多个视图保持同步,使您能够交互式地编辑和渲染 Vega/Vega-Lite 可视化。

相同的流程也适用于 Vega 2.x 文件,扩展名为 .vg.vg.json

笔记本或代码控制台中 Vega/Vega-Lite 的输出支持由第三方库提供,例如 Altair (Python)、vegalite R 包或 Vegas (Scala/Spark)。

可以在 这里 找到支持 Vega 3.x 和 Vega-Lite 2.x 的 JupyterLab 扩展。