我记得在我的my中,邮件合并特性:我在Excel表中有一个表,Word和Merge中的一个模板从Excel表的每一行创建了一个Word文档。
现在,我已经完全更改为纯文本文件: CSV用于表,Markdown用于文本,我希望将CSV和模板处理为一个标记文件堆栈(然后我通过潘多克将这些文件转换为HTML)。
”
这种“邮件合并”工具的-type是否存在于此工作流?我更喜欢命令行工具,因为工具链中的其他东西都是基于cli的。
最酷的功能将是如果转换是可能的两种方式:
CSV+Markdown模板-->一堆标记式文档
反之亦然
一堆标记文档--> CSV+Markdown模板
发布于 2020-11-27 14:36:07
我正在寻找类似的东西,由于找不到它,我按照rd_nielsen概述的原则编写了一个小型python脚本。
https://gist.github.com/frederik-elwert/5d0fee06aad946c75ef03084a2684233
你可以这样称呼它:
python3 pandoc-merge.py --csv addresses.csv -o merged_letter.pdf letter_template.md 在模板中,可以使用{{ variable }}和其他jinja2构造从CSV文件的字段中插入内容。
发布于 2019-12-19 10:14:54
如果您喜欢R和现代R脚本:
您可以使用R的knitr包,编写一个小的.Rmd文件,并将文档“编织”到markdown+html (+可选的.docx和pdf),然后一举使用Rscript命令行工具。
与blogdown R软件包和静态站点生成器雨果一起,您可以构建一个很好的模板解决方案。(你不需要建一个网站)。
您提到的“反向方式”(从页面到template+csv)可能是不可能的。
发布于 2019-12-19 15:50:10
考虑使用模板语言,如Jinja (https://palletsprojects.com/p/jinja/)或Air速(https://github.com/purcell/airspeed)作为标记模板。然后,您只需要一点代码(上面的链接都指向Python库,因此Python将是一种明智的语言)来读取CSV文件并在模板中运行它以生成最终的Markdown。
这两个步骤可以通过execsql.py的导入和导出元模板来执行。免责声明:我写的。它甚至可以动态地创建一个SQLite数据库来导入数据。这是一个命令行工具。然而,它不能满足您逆转邮件合并过程的愿望。
https://softwarerecs.stackexchange.com/questions/71188
复制相似问题