Python学习实例之 邮件合并

初学对于很多格式转换不熟悉,研究了一天才搞定读取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)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。