import pandas as pdfrom docx import Documentdef cell_add(cell,text): if not cell.paragraphs: cell.add_paragraph() para = cell.paragraphs[0] for run in para.runs: run.text = "" if not para.runs: para.add_run() para.runs[0].text = str(text)path_xlsx = "户籍汇总表.xlsx"path_docx = "一户一档登记表模板.docx"df = pd.read_excel(path_xlsx)df_group = df.groupby(by="编号")col_list = ["姓名","年龄","性别","与户主关系","身份证","地址"]for name, group in df_group: doc = Document(path_docx) group = group.dropna(subset=["姓名"]) name_count = len(group) table = doc.tables[0] cell_add(table.rows[1].cells[0], f"户号:{name}") cell_add(table.rows[1].cells[-1], f"家庭总人口数:共 {name_count} 人") for i in range(name_count): for c in range(1,7): value = group.iloc[i][col_list[c-1]] cell_add(table.rows[3+i].cells[c],str(value)) doc.save(f"{name}.docx")