我想知道Google Colab中是否有一种方法可以很好地整理输出,就像R中的Markdown一样,以及如何将IPython Notebook转换为pdf和html格式?
我的输出包含多个表,图形等。我想最好将它们漂亮地打印到一个文件中,其中的某些部分足以显示出来以便在报表中使用。如果没有这种方法,什么是最好的选择?
答案 0 :(得分:5)
您还可以使用nbconvert在colab本身中创建pdf。
!apt update
!apt install texlive-xetex texlive-fonts-recommended texlive-generic-recommended
import re, pathlib, shutil
# Get a list of all your Notebooks
notebooks = [x for x in pathlib.Path("/content/drive/My Drive/Colab Notebooks").iterdir() if
re.search(r"\.ipynb", x.name, flags = re.I)]
for i, n in enumerate(notebooks):
print(f"\nProcessing [{i+1:{len(str(len(notebooks)))}d}/{len(notebooks)}] {n.name}\n")
# Optionally copy your notebooks from gdrive to your vm
shutil.copy(n, n.name)
n = pathlib.Path(n.name)
!jupyter nbconvert "{n.as_posix()}" --to pdf --output "{n.stem.replace(" ", "_")}"
除了使用魔法来运行nbconvert之外,您还可以使用subprocess
s = subprocess.Popen(shlex.split(
f'jupyter nbconvert "{n.as_posix()}" --to pdf --output "{n.stem.replace(" ", "_")}"'
), shell = False, stdout = subprocess.PIPE, stderr = subprocess.PIPE)
s.wait()
s.stdout.read()
如果您使用非常复杂的模板,还有更多关于xetex的软件包。
sudo apt install pandoc nbconvert texlive texlive-latex-extra texlive-generic-extra
答案 1 :(得分:0)
您可以保存/导出IPython笔记本(菜单:File
/ Download .ipynb
),然后使用Jupyter保存到PDF。