Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何从Jupyter直接创建自定义PDF?

如何从Jupyter直接创建自定义PDF?
EN

Stack Overflow用户
提问于 2019-03-11 22:50:07
回答 1查看 830关注 0票数 2

我在公司的一个项目中工作,在这个项目中,我进行常规实验,作为生产和质量控制(QC)的一部分。我们使用定制的仪器从给定的实验中获取数据,并将数据存储在公司服务器上的数据库中。我们目前分析这些数据的界面是运行Jupyter Notebook,它主要基于Python代码,它使用matplotlib根据给定实验的数据生成各种表格和曲线图。我们目前严重依赖于手动创建这些数据的报告,例如将Jupyter Notebook中的一些结果导出为CSV,然后将其导入Excel等。每个实验结束时的最终目标是生成包含所有基本信息和结果的格式良好的多页PDF。

我们真的需要一种更好、更自动化的方法来直接从Jupyter Notebook生成PDF格式的报告,这样我们就可以轻松地将报告附加到其他PDF文件中,例如批量/生产记录。

我需要以清晰简洁的方式报告我在实验中使用的所有设备以及实验数据。我还需要包括每个实验是如何进行实验的摘要。理想情况下,我可以将设备ID#s直接输入Jupyter,使用所有实验数据(图像、数组等)创建数据帧,然后将这些信息导出到PDF模板中。

如想象的那样,PDF将有几个页面/部分,这些页面/部分在连续的实验中基本上保持不变,但将有必须为每个新的数据集和使用的设备更新的部分。我也希望PDF的商业质量,因为它有我的公司的名称和标志,页眉和页脚。

我们已经对PyFPDF进行了一些尝试,但是看起来它对于我们的需求来说可能有点太有限了。我们已经看过一些其他的工具,但有很多选择,而且不清楚什么是最适合我们的目标,以及最容易编码的。有没有人有什么建议可以给我们指明正确的方向?Image of one of the pages from the desired PDF output

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-12 00:10:04

我也希望

是商业质量,因为它有我的公司的名称和标志,页眉和页脚。

我相信你可以直接使用python库做很多事情,但是如果你真的想要高质量的输出,只需要使用一个合适的工具,比如latex --特别是如果你碰巧已经熟悉它的话。如果不是,学习起来也不难。我有时使用python生成latex输出,然后处理结果。当然,您也可以从python脚本调用pdflatex

不过,我建议先为一组数据单独编写latex文档,因为这样更容易进行调整。然后编写一个脚本,为不同的数据集生成和处理该文件。

有关在python中使用latex的更多建议,请参阅https://tex.stackexchange.com/questions/885/how-can-i-use-latex-from-python

下面是一个生成图形的示例,它是一个latex文件,然后调用pdflatex对其进行处理。运行此命令,输出将为report.pdf格式

代码语言:javascript
运行
AI代码解释
复制
import numpy as np
import matplotlib.pyplot as plt
import subprocess

# Generate plots
x = np.arange(0,5,.1)
for i in [2,3,4] :
    plt.plot(x,x**i)
    plt.savefig('Fig{}.png'.format(i))

# Start latex document
f = open('report.tex', 'w')
f.write("""
\\documentclass[]{report}
\\nonstopmode
\\usepackage{lipsum}
\\usepackage{graphicx}
\\begin{document}
\lipsum[1-3]
""")

# Make latex figure
f.write("\\begin{figure}[h]\n")
f.write("    \centering\n")
for i in [2,3,4] :
    f.write("    \\includegraphics[width=.3\\textwidth]{{{}}}\n".format('Fig{}.png'.format(i)))

f.write("    \\caption{Polynomials of power 2,3,4}")
f.write("\end{figure}\n")

# End latex document
f.write("\\end{document}\n")
f.close()

# Compile latex document
subprocess.call('ls')
subprocess.call(['pdflatex', 'report.tex'])
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55111552

复制
相关文章
webstorm配置eslint【标记错误,修复错误】
项目中经常用到eslint语法,结合个人经验,用webstorm配置eslint “文件”-》“默认设置”-》“语言&框架”-》“Code Quality Tools”-》“ESLint” 如图片所示
用户1149564
2018/05/28
3.1K0
typescript 中使用 setTimeout 返回值类型 eslint 检查错误 ‘NodeJS‘ is not defined.eslint(no-undef)
这个错误一般是eslint 识别到nodejs 没有被定义,所以只能看从哪里引入或者全局给eslint 一个变量让认识 。目前我找不到这个NodeJS 命名空间从哪里来的暂时可以在eslintrc.js 文件配置一个globals
星宇大前端
2022/09/23
1.5K0
typescript 中使用 setTimeout 返回值类型 eslint 检查错误 ‘NodeJS‘ is not defined.eslint(no-undef)
Typescript中类型错误解决方案
error TS2351 解决方案 错误详情 错误TS2351:不能将“new”与类型缺少调用或构造签名的表达式一起使用。 Cannot use 'new' with an expression whose type lacks a call or construct signature. 解决方法 去掉 import 中的 * as 原因 如: import * as Router from 'koa-router'; 解决方法去掉 * as,我们直接导入的第三方库的默认导出属性没有任何*或{}. 原因可
Mr.Teen
2019/07/02
3K0
[PHP] PHP 7.4.5的错误修复
PHP 7.4.5的错误修复 修复了错误#79364(复制空数组时,未指定下一个键)。 修复了错误#78210(无效的指针地址)。 curl: 修复了错误#79199(curl_copy_handle()内存泄漏)。 Date: 修复了错误#79396(DST向前跳转时,DateTime小时不正确)。 修复了错误#74940(DateTimeZone松散比较始终为true)。 FPM: 实现需求#77062(允许FPM监听数字[UG] ID。{owner,group})(Andre Nathan) Iconv: 修复了错误#79200(某些iconv函数截断Windows-1258)。 OPcache: 修复了错误#79412(Opcache阻塞并在特定脚本上造成100%CPU)。 session: 修复了错误#79413(session_create_id()对于活动会话失败) Shmop: 修复了错误#79427(shmop_open()中的整数溢出)。 SimpleXML: 修复了错误#61597(SXE属性可能缺少属性和内容)。 soap: 修复了错误#79357(缺少任何请求参数时SOAP请求段错误)。 Spl: 修复了错误#75673(SplStack :: unserialize()行为)。 修复了错误#79393(空合并运算符因SplFixedArray失败)。 标准: 修复了错误#79330(shell_exec()在空字节后会自动截断)。 修复了错误#79410(如果恰好是4095字节且没有换行符,system()会吞下最后一个块)。 修复了错误#79465(OOB读取urldecode())。(CVE-2020-7067) zip: 修复了错误#79296(ZipArchive :: open在空文件上失败)。 修复了错误#79424(调用globfree后php_zip_glob使用gl_pathc)。
唯一Chat
2020/04/24
1.7K0
GTID复制错误的修复
show slave status的报错信息如下: Last_SQL_Error: Error '@@SESSION.GTID_NEXT cannot be set to ANONYMOUS when @@GLOBAL.GTID_MODE = ON.' on query. Default database: ''. Query: 'CREATE TABLE IF NOT EXISTS infra.chk_masterha (`key` tinyint NOT NULL primary key,`val` int(10) unsigned NOT NULL DEFAULT '0') engine=MyISAM'
jeanron100
2019/05/15
2.6K0
GTID复制错误的修复
Linux 错误修复笔记
apt 错误 :”subprocess installed post-installation script returned error exit status 1” 故障排除: apt-get autoclean apt-get autoremove apt-get update apt-get upgrade
Spaceack
2020/11/04
4.8K0
MySQL 1698错误修复
查看一下user表,错误的起因就是在这里, root的plugin被修改成了auth_socket,用密码登陆的plugin应该是mysql_native_password
华创信息技术
2022/05/28
1.7K0
域名解析怎么弄 域名解析错误怎么修复
当我们购买到一个域名,需要对域名进行解析,那么域名解析怎么弄?如果域名解析错误怎么修复呢?今天小编就为大家介绍一下关于域名解析的相关步骤,以及域名解析错误后该怎么修复?
用户8739990
2021/07/23
22.5K0
域名解析怎么弄 域名解析错误怎么修复
javascript错误类型
作为一个程序员,需要的不仅仅是技术,更是需要在遇到错误的时候对错误的处理能力。就前端而言,技术一直在更新,但是JavaScript中的错误也就是那么几个。掌握不同的报错信息会让你的实际开发事半功倍。
踏浪
2019/07/31
8400
6.1 错误类型
对于小白而言,运行编写的程序遇到报错,往往不知所措,不清楚什么原因造成的。完美的程序是不存在的,程序有异常才是常态,所以遇到缺陷不要慌,找到错误根因解决它就行了。 本节就专门介绍一下编程过程可能遇到的一些错误,如果你能识别这些异常原因并fix,那么你就掌握了异常处理方法。
互联网金融打杂
2022/08/01
1.2K0
6.1 错误类型
Python 错误类型
Python 程序中最常见的错误原因是某个语句不符合规定的用法。这种错误称为语法错误。Python 解释器会立即报告它,通常会附上原因。
很酷的站长
2023/08/15
2770
Python 错误类型
如何修复WordPress网站的Syntax Errors语法错误
如果您在WordPress建站中,经常在网站上尝试各种功能,那么有可能会收到以下错误“Syntax error,unexpected…”,请不要惊慌,你不是第一个在WordPress中收到语法错误的人,也不会是最后一个。
晓得博客
2021/06/15
5.6K0
如何修复WordPress网站的Syntax Errors语法错误
TypeScript 开启严格模式 降低代码错误范例 巧用never类型
在tsconfig.json中 添加strict模式 代码范例
lilugirl
2019/05/28
1.4K0
TypeScript 开启严格模式 降低代码错误范例 巧用never类型
修复zpool data errors错误
root@host1:/tank/new/ddd# zpool status -v tank
党志强
2020/02/11
2K0
如何修复WordPress内容更新和发布失败错误
如果您的WordPress网站在您尝试进行更改时返回诸如“更新失败”或“发布失败”之类的错误消息,那么结果不仅令人沮丧,而且还会阻止访问者访问他们需要的内容。
青梅煮码
2023/01/14
5.7K0
如何修复WordPress内容更新和发布失败错误
Eslint检测出的问题如何自动修复
1. sublime 插件 eslintAutoFix 目前只试了windows下 真是大坑!如果你用了这个插件但不能自动修复,那就不要再用这个了!全网无解! 提示系统找不到指定的文件,各种路径加入系统变量以及配置文件都无用!心累! 不知道是不是不支持windows了??? 如果你碰巧使用正常了,可以留言告诉我怎么搞的,感谢! 2. 命令行eslint自动修复 全局安装eslint npm install eslint -g 运行 eslint --fix [file.js][dir] image.png
smy
2018/04/03
2.9K0
Eslint检测出的问题如何自动修复
如何修复WordPress发生的max_execution_time致命错误
WordPress网站产生的max_execution_time致命错误在您的WordPress管理仪表盘中如下所示:
Yangsh888
2022/04/05
5.5K0
点击加载更多

相似问题

ESLint VSCode错误-解析错误:'?‘期望的

110

条件类型来自TypeScript eslint的解析错误

111

如何修复typescript NodeJs中的eslint错误:“函数缺少返回类型”

117

带有类型标“解析错误:期望类型”的ESLint和模板文字类型

113

如何修复意外令牌"/“的ESLint解析错误?

30
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档