python批量生成excel文件,python自动填写excel

  python批量生成excel文件,python自动填写excel

  读取Python excel并批量生成word模板

  问题-来源

  前几天可爱的草莓遇到了一个难题:把excel表格里的数据复制到word模板里比较繁琐,问我有没有解决的办法。于是我尝试了百度,借鉴了相关博主的博文,结合自己的需求,最终解决了问题。在这里记录一下吧。

  问题-困难

  问题1:我一直无法导入docxptl库,一直尝试还是无法解决。直到第二天,我下定决心下载了最新版本的python,问题才得以解决。

  2:读取excel的xlrd已经无法读取我的数据源。百度多次终于找到解决办法:因为我的表以xlsx结尾,所以1.2.0以后的xlrd库版本只能读取以xls结尾的表。所以我在pycharm下载的xlrd库版本是1.2.0,这个问题就解决了。

  问题-代码解决

  Word模板需要使用{{}}作为占位符,如下图所示:

  下面是源代码:

  # coding:encoding name:# coding:utf-8 import XLR dffrom docx TPL import docxtemplatedef main():Data=xlrd . open _ workbook(r c:\ users \ 22815 \ desktop \ print \ Data table。xlsx) for x in range(0,1):#此处可以循环多个表print(x)table=data . sheets()[x]names=data . sheet _ names()[x]#获取表名nrows=table . nrows print(names)for I in range(nrows):name=table . row _ values(I)[0]# name ID card=table . row _ values(I)[3]# ID卡small money=table . row _ values(I)[1]#小写金额bigMoney=table.row_values(i替换( . 0 , )#以上数据打印出来会有. 0。S month=str(月)。replace (.0 , )sday=str(日)。replace (.0 , )context={name: name,# name idCard: idCard,# ID number smallmoney: s # amount小写 bigMoney: bigMoney,# amount大写 month: SMonth,# month day :Sday # day } word=docx template(r c:\ users \ 22815 \ desktop \ print \个人工资结算承诺书。docx )print(context)word . render(context)word . save(names - { } 。格式(名称)。docx) print(保存成功)if _ _ name _= _ _ main _ _ :

  以上是这个问题的解决代码,但是还有很多改进的地方,比如保存路径和目录的生成,还有待改进。

  新手的勤啤,刚上路,有很多不清楚的知识。希望大家给点建议。谢谢你。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: