python根据表格内容修改word

python根据表格内容修改word

有两张表格,一张放着各产品简介,一张放着各产品的参数说明,需要提取各简介,然后再根据参数补充内容,结合在一起生成各个产品的综合介绍。虽然在产品数量不多的情况下可以手动整理,但还是比较麻烦而且容易出错。这里借助了python来进行。

1.读取EXCEL数据

作为数据处理的王者,python读取EXCEL有很多方法,有许多相关的库。这里采用了opeanpyxl,先加载表格,然后再选中活动工作表,就可以读取数据了。

from openpyxl import load_workbook
wb = load_workbook('1.xlsx')
ws = wb.active
wb2 = load_workbook('2.xlsx')
ws2 = wb2.active
...
a = sheet.cell(row=i, column=2).value

代码和上面的差不多,“1.xlsx”中放了简介,“2.xlsx”中是参数,因为每个表格只有一张工作表,直接选中活动工作表.active就可以了。然后用指定行列的方法读取单元格的值。

需要注意的是,openpyxl的序号是从1开始的,而不像一般的编程习惯是从0开始,使用时需要注意。

2.修改word

修改word主要参考了以下的文章:实例5:用Python批量生成word版邀请函

使用python操作word采用的库是docx,使用时需要先制作一个模板,然后方便对想要的地方进行修改。修改的话主要用到类似下面的语句:

doc.paragraphs[5].runs[2].text=XXXXXX

paragraphs 表示第几段,一个回车符号算一个paragraphs,从0开始计数,runs指每一段中不同的字体格式,空格或者换行符有时候也算,这里我也不太懂run的计算方式,不过可以通过试运行来调整。以下面的文本为例:
在这里插入图片描述
如果我要替换ZZZ处的内容,就是doc.paragraphs[3].runs[2].text,因为是第四个回车处,第三个不同字体格式处。

明确了替换规则后就可以对找到需要修改的地方,然后把从EXCEL中读取到的数值写入进去,最后保存一下即可。

打开word和保存word的语句如下所示:

import docx
doc=docx.Document('introduction.docx')
...
doc.paragraphs[5].runs[2].text=XXXXXX
...
doc.save(name+'.docx')
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值