我正在编写邮件合并软件作为 Python Web 应用程序的一部分。
我有一个名为 的模板letter.pdf,它是从 MS Word 文件生成的,其中包含文本 {name},其中将包含居民的姓名。我还有一份 c 的清单。100 个居民的姓名。
我想做的是读入letter.pdf搜索"{name}"并将其替换为居民的姓名(对于每个居民),然后将结果写入另一个pdf。然后,我想将所有这些 pdf 收集到一个大 pdf(每个字母一页)中,我的网络应用程序的用户将打印出来以创建他们的字母。
有没有任何 Python 库可以做到这一点?我看过 pdfrw 和 pdfminer 但我看不出他们能够在哪里做到这一点。
(注意:我还有 MS Word 文件,所以如果有另一种使用它的方法,而不是通过 pdf,那也可以完成这项工作。)
我有一点问题.我有两个SQL表(ip和客户端)绑定第三个(ip_client).我没有使用SQLAlchemy附带的多对多关系,因为我的一些查询发生了复杂的过滤.
一切都很好,除了一个愚蠢的用例.我想列出没有客户端的所有IP,没有外连接我不能这样做.
外连接需要几秒钟,其中使用左连接的相同查询是即时的.但是无法避免SQL Alchemy创建的INNER JOIN.我尝试了所有的关系,并移动我的外键,但它保持INNER JOIN.
基于同样的问题,每当我尝试使用显示客户端数量的列列出所有ips时,查询将不会返回具有0个客户端的ips(INNER JOIN的自然行为).
有没有办法强迫它?
顺便说一下这是我的查询:
query = (session.query(Ip, func.count(Client.id))
.join(ClientIp, ClientIp.ip_id==Ip.id)
.join(Client, Client.id==ClientIp.client_id)
.group_by(Ip.id))
Run Code Online (Sandbox Code Playgroud)
在查询创建或连接函数中是否存在强制LEFT JOIN的技巧?