:批量製作檔案表,要從excel表格中將每個人的資料匯入到docx檔案
阿新 • • 發佈:2021-02-20
技術標籤:ppython自然語言處理批量操作pythonexceldocxdocxTemplate
https://www.pythonf.cn/read/149081 Python自動將Excel資料填充到word的指定位置,Word,中
具體程式碼如下:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from docxtpl import DocxTemplate
from openpyxl import load_workbook
import os
def replace(obj):
if obj is None:
obj = ''
return obj
# 載入要填入的資料
wb = load_workbook(r"./detailContent.xlsx")
ws = wb['sheet1']
contexts = []
for row in range(2, ws.max_row + 1):
name = ws["A" + str(row)].value
#c_name = ws["B" + str(row)].value
ziduanName = ws["C" + str(row)]. value
# num = ws["D" + str(row)].value
# time = ws["E" + str(row)].value
# time = str(time)[:-9]
# money = ws["F" + str(row)].value
# address = ws["G" + str(row)].value
# replace_peo = ws["H" + str(row)].value
# context = {"name": name, "c_name": c_name, "code": code, "num": num, "time": time,
# "money": money, "address": address, "replace_peo": replace_peo}
context = {"name":name,"ziduanName":ziduanName}
contexts.append(context)
#contexts
print(contexts)
print(len(contexts))
# 建立要儲存的資料夾
os.mkdir("./word1")
for context in contexts:
print(context)
tpl = DocxTemplate(r"./model.docx")
tpl.render(context)
tpl.save("./word1/資料表-{}.docx".format(context["name"]))