求大神指教!python中从excel获取数据插入到word指定位置,然后生成的word文档全部引用的是第一行数据,怎么回事?

python中从excel获取数据插入到word指定位置,然后生成的word文档全部引用的是第一行数据,怎么回事?

表格文档

import xlrd #引入excel读取模块
from mailmerge import MailMerge #引用邮件处理模块
from docxtpl import DocxTemplate
datafile_path = r'c:\Users\星星star\Desktop\test\开户银行清单.xlsx'
data = xlrd.open_workbook(datafile_path)  #获取数据
table = data.sheet_by_name('Sheet1')
nrows = table.nrows
template = r'c:\Users\星星star\Desktop\test\询证函模板.docx'  # 创建邮件合并文档并查看所有字段
document = MailMerge(template)

for i in range(nrows): #循环逐行打印   
    "Fields included in  {}".format(document.get_merge_fields())
    
    if i > 1:    #排除1.2行项无用数据
        dateall = table.row_values(i)   
        #print(dateall)
        document.merge(costnum = table.row_values(i)[3],
        name1 = table.row_values(i)[4],
        zhanghuyue = table.row_values(i)[7],
        bank = table.row_values(i)[2],
        banknum = table.row_values(i)[5],
        suoyinhao = table.row_values(i)[0],
        bianhao = table.row_values(i)[1],
        banktype = table.row_values(i)[6],
        name2 = table.row_values(i)[8],
        phonenum = table.row_values(i)[9])
        wordname = table.row_values(i)[0]+'.docx'
        document.write(wordname) #创建新文件

运行结果,创建的word文档用的都是第一行有效数据(就是第三行的),这是为什么呢?请大神指教!!!

你可能感兴趣的:(求大神指教!python中从excel获取数据插入到word指定位置,然后生成的word文档全部引用的是第一行数据,怎么回事?)