Python学习实例之 邮件合并

2020-09-09  本文已影响0人  阿蒙阿蒙

初学对于很多格式转换不熟悉,研究了一天才搞定读取excel单元格中的日期合并到word中对应域,

date=str(datetime.datetime.fromtimestamp((table.row_values(i)[2] - 25569) * 86400.0).date()) #读取excel日期单元格,把float转成日期格式,再转换成字符格式,才能写入word文本域。如果excel值为数字也是要转换格式的,例如:str(int(table.row_values(i)[3]))取整数

import xlrd # 引入Excel读取模块

from mailmerge import MailMerge # 引用邮件处理模块

import datetime

datafile_path = 'D:/py/code/test/lz.xlsx' # 表格位置

data = xlrd.open_workbook(datafile_path) # 获取数据

table = data.sheet_by_name('Sheet') # 这里的表名要注意

nrows = table.nrows

template = 'D:/py/code/test/test.docx' # 模版位置

for i in range(nrows): # 循环逐行打印

if i > 0: # 排除0项无用数据

document = MailMerge(template)

document.merge(

GID=table.row_values(i)[0],

name=table.row_values(i)[1],

date=str(datetime.datetime.fromtimestamp((table.row_values(i)[2] - 25569) * 86400.0).date()) #读取日期转换为字符

)

wordname = table.row_values(i)[1] + '.docx'

document.write(wordname)

上一篇下一篇

猜你喜欢

热点阅读