将 jupyter 笔记本转换为 julia 脚本时删除单元格标签

问题描述

我想知道在将 jupyter notebook 转换为 julia 脚本时是否有办法删除单元格标签。目前,我使用 <Slider ref={c => (this.slider = c)} {...settings}> <div> <div className="slide-item"> <h2 className="">Create multiple sub-account</h2> </div> <div className="slide-item"> <h2 className="">Create multiple sub-account</h2> </div> </div> </Slider> 包,它工作正常,除了在语法行之间留下一些单元格标签 weave删除这些 #+ 并获得更清晰的转化的最佳方法是什么?

#+
julia> using weave

julia> convert_doc("mynotebook.ipynb","mynotebook.jl")

解决方法

这些字符似乎是硬编码的 (source)。

您可以 fork 存储库并更改此行为,或者您可以在转换后的文件上使用某种命令行实用程序来删除存在 #+ 字符的每一行以及任何其他不必要的换行符。

假设我们有一个看起来像这样的笔记本:

notebook

这将被转换成这样:


#+



#+

print("print from cell 2")


#+

print("print from cell 3")

我们可以使用像 sed 这样的工具来删除所有以 #+ 开头的行:

sed '/^#+/d' file.jl

返回:






print("print from cell 2")



print("print from cell 3")

仍有很多换行符,因此我们可以在此输出中使用 cat -s

-s,--squeeze-blank 抑制重复的空输出行

sed '/^#+/d' file.jl | cat -s

哪个返回:


print("print from cell 2")

print("print from cell 3")

我们可以用这个输出覆盖文件的内容:

sed '/^#+/d' file.jl | cat -s > file.jl

如果您使用的是 Windows 并且没有安装可以应用上述想法的类似 sed 的实用程序,您可以查看 this post