from docx import Documentinput_file = r"E:\文档.docx" # 原始文档路径output_file = r"E:\文档_table.docx" # 输出文档路径doc = Document(input_file)paragraphs = doc.paragraphstarget_paragraphs = []i = 0total_para = len(paragraphs)while i < total_para - 1: txt = paragraphs[i].text.strip() if txt and txt[0] == '表': j = i + 2 para_list = [] while j < total_para and paragraphs[j].text.strip(): para_list.append(j) j += 1 target_paragraphs.append(para_list) i = j + 1 else: i += 1for para in reversed(target_paragraphs): num_cols = len(paragraphs[para[0]].text.split()) table = doc.add_table(rows=len(para), cols=num_cols) for i,r in enumerate(table.rows): for j,c in enumerate(table.columns): table.cell(i,j).text = paragraphs[para[i]].text.strip().split()[j] doc._body._body.remove(paragraphs[para[i]]._element) # 删除段落 index = doc._body._body.index(paragraphs[para[0]-1]._element) doc._body._body.insert(index,table._element) # 添加表格doc.save(output_file)print(f"共替换了{len(target_paragraphs)}个表格")