文件和输出格式#
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#
文件扩展名:
.mdMIME 类型:
text/markdown
Markdown 是一种简单且流行的标记语言,用于 Jupyter Notebook 中的文本单元格。
Markdown文档可以作为文本文件编辑或内联渲染:
此模式下支持的Markdown语法与Jupyter Notebook中使用的语法相同(例如,LaTeX公式有效)。如动画所示,对Markdown源代码的编辑会立即反映在渲染版本中。
图片#
文件扩展名:
.bmp,.gif,.jpeg,.jpg,.png,.svgMIME 类型:
image/bmp,image/gif,image/jpeg,image/png,image/svg+xml
JupyterLab 支持在单元格输出中显示图像数据以及以上述格式的文件。在图像文件查看器中,您可以使用键盘快捷键,如 + 和 - 来缩放图像,[ 和 ] 来旋转图像,以及 H 和 V 来水平和垂直翻转图像。使用 I 来反转颜色,使用 0 来重置图像。
要将SVG图像作为文本文件进行编辑,请在文件浏览器中右键点击SVG文件名,然后在“打开方式”子菜单中选择“编辑器”项:
分隔符分隔的值#
文件扩展名:
.csvMIME 类型:无
包含以分隔符分隔的值的文件,例如CSV文件,是表格数据的常见格式。在JupyterLab中,这些文件的默认查看器是一个高性能的数据网格查看器,可以显示以逗号分隔、制表符分隔和分号分隔的值:
虽然网格查看器可以读取制表符分隔值文件,但目前它不会自动识别.tsv文件。
要查看,您必须将扩展名更改为.csv并将分隔符设置为制表符。
要将CSV文件作为文本文件进行编辑,请在文件浏览器中右键点击该文件,并在“打开方式”子菜单中选择“编辑器”项:
JupyterLab的网格查看器可以打开大文件,最大可达特定浏览器的最大字符串大小。 下面是一个表格,显示了我们成功打开的每个支持浏览器中最大测试文件的大小:
浏览器 |
最大尺寸 |
|---|---|
火狐浏览器 |
1.04GB |
Chrome |
730MB |
Safari |
1.8GB |
可以成功加载的文件的实际最大大小将根据浏览器版本和文件内容而变化。
JSON#
文件扩展名:
.jsonMIME 类型:
application/json
JavaScript 对象表示法(JSON)文件在数据科学中很常见。 JupyterLab 支持在单元格输出中显示 JSON 数据,或使用可搜索的树状视图查看 JSON 文件:
要将JSON作为文本文件进行编辑,请在文件浏览器中右键点击文件名,然后在“打开方式”子菜单中选择“编辑器”项:
HTML#
文件扩展名:
.htmlMIME 类型:
text/html
JupyterLab 支持在单元格输出中渲染 HTML 并在文件编辑器中以文本形式编辑 HTML 文件。
LaTeX#
文件扩展名:
.texMIME 类型:
text/latex
JupyterLab 支持在单元格输出中渲染 LaTeX 公式,并在文件编辑器中以文本形式编辑 LaTeX 文件。
PDF#
文件扩展名:
.pdfMIME 类型:
application/pdf
PDF 是一种常见的文档标准文件格式。要在 JupyterLab 中查看 PDF 文件,请在文件浏览器中双击该文件:
Vega/Vega-Lite#
Vega:
文件扩展名:
.vg,.vg.jsonMIME 类型:
application/vnd.vega.v5+json
Vega-Lite:
文件扩展名:
.vl,.vl.jsonMIME 类型:
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扩展可以在这里找到。