自动化生成报告程序

各位看官初看标题可能觉得很高大上,可能联想AI这一块,其实就是一个小Demo。这个程序的产生思想可能要追溯到学生时代,在每个学期的期末是不是都要评定什么个人、班级等荣誉;每个奖状在打印的时候是不是有些基本内容是相同的,只需要把对应的个人信息和奖项名称填进去就行了;但是对于一个硬件设施不好的学校,可能会有许多老师和同学共同完成这个工作(毕竟当时年少无知嘛,老师叫你工作是一种光荣);这无疑增加工作量,还降低了工作效率。要是有一个自动化的设备在里面输入几个指令就行了,然后设备就自动为你的需求而工作。

最近一个偶然的机会,接触到一家基因科技的公司的一个项目。他们的项目和我之前说的小事例很相似,该项目的主要实现目标是实验室检测得出的数据结果与报告模板结合批量生成报告(pdf)。我在网上搜寻了很多方法,什么模板引擎,什么实验室软件等等;都很麻烦。主要是他们公司想要看初稿,就针对他们公司的一个基因检测套餐模板做一个小demo;当然了,我每天要上班,下班以后给他们弄,不可能在这么短时间自己搞个系统出来,所以一些主流的后端语言我就没有使用(因为有些编程语言不能和报告文件后缀能够完美的匹配)。

我的思路是这样的,前期报告模板已word的形式确认后,用HTML+CSS等技术将报告模板以网页版呈现;报告生成demo在Liunx系统下,使用Python、php等技术,运用pdftk、wkhtml等格式转化软件进行格式上的处理;并采用Jinja2模板引擎和MarkupSafe模块对html自动转义和标记,同时高效的将源码转换成Pyhton字节码,加快模板执行时间;对现有表格数据批量快速导入SQL Server并结合php页面数据文件上传下载等功能对系统开发实现。最终实现了将得出的检测数据与与之对应的报告模板相结合,并生成最后的pdf格式报告。前端的报告模板代码我就不列出来了,下面附上.py代码截图,我还没传到Gitub上,有需要的可以留言,到时候我整理一下,把链接发出来,希望对大家有帮助,相互交流学习。

代码部署完了,怎么操作得到后面的报告呢?我在这里以win操作系统简单的写出步骤:

        首先,进入报告程序路径  (程序路径,如:cd /home/jlcao/TP53/report);

然后,在当前目录创建report文件夹,该文件夹即为创建的虚拟环境                                    (virtualenv-p<文件夹名>   如:/usr/local/bin/python3.5 report);

其次,激活虚拟环境(virtualenv) (source report/bin/activate);

再用pip安装依赖环境,运行requirements.txt  (pip install -r requirements.txt);

最后,python gen_report.py --result-dir result data/xxx.csv(xxx.csv为data文件夹数据文件) 执行此命令,即可在results文件夹里生成xxx.csv中指定的患者所有报告,报告保存在独立文件夹中。

其中,创建激活虚拟环境和安装依赖环境只需要开始的一次即可,后面直接将相应的数据上传到服务器,然后按步骤操作即可。

GitHub地址:https://github.com/caojiele/Automation-report  欢迎star!


扫描关注上方二维码查看更多精彩信息↑ ↑ ↑ 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,425评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,058评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,186评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,848评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,249评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,554评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,830评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,536评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,239评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,505评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,004评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,346评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,999评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,060评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,821评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,574评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,480评论 2 267

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 170,565评论 25 707
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,099评论 18 139
  • F56班级一键指南 DISC国际双证班F56期“哏儿都”交通住宿指引 byF53助推团长孟博 一大波美食已经到达F...
    拾忆芳华阅读 860评论 0 0
  • 清明时节雨纷纷。蒙蒙细雨让刚刚回暖的天气又冷了回去。阴雨天总是能让我心情压抑。耳机里放着欢快的音乐,气氛欢乐,自己...
    狼途陌路阅读 161评论 0 0
  • 2017年9月19日 星期二 五华 天气晴 30℃ 今天想来聊一下工具,工具原指工作时所需用的器具,后引申为为达到...
    陈贺雄阅读 267评论 3 0