Python办公自动化-将excel每行数据填充至word


import pandas as pd
from docxtpl import DocxTemplate

data = pd.read_excel('data.xlsx')
dict_list = data.to_dict(orient="records")
"""
dict_list = [{'姓名': '张三', '性别': '男', '专业': '网络工程'},
             {'姓名': '李四', '性别': '女', '专业': '法学'},
             {'姓名': '王五', '性别': '男', '专业': '生物工程'}]
"""
for i in dict_list:
    tpl = DocxTemplate('temp.docx')
    tpl.render(i)
    tpl.save(i['姓名']+'.docx')

安装使用

git clone https://github.com/rmboot/auto-excel-to-word.git
cd auto-excel-to-word
pip install -r requirements.txt
python auto-excel-to-word.py

运行过程

1.pandas读取存储数据的excel表格(data.xlsx),并将其转换为存储字典(dict)的列表(list)类型。
2.循环读取列表(list)的每项数据(即data.xlsx的每一行),此时为字典(dict)。
3.docxtpl加载模板文件(temp.docx)并按字典(dict)填充模板的内容。
4.auto-excel-to-word目录内生成相应的word文件。