欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > 通过markdown表格批量生成格式化的word教学单元设计表格

通过markdown表格批量生成格式化的word教学单元设计表格

2024/12/1 0:49:08 来源:https://blog.csdn.net/fjh1997/article/details/142372626  浏览:    关键词:通过markdown表格批量生成格式化的word教学单元设计表格

素材:在这里插入图片描述
模板:
在这里插入图片描述
代码:

import pandas as pd
from python_docx_replace import docx_replace,docx_get_keys
from docx import Document
from docxcompose.composer import Composerdef parse_markdown_tables(file_path):with open(file_path, 'r', encoding='utf-8') as file:lines = file.readlines()current_table = []for line in lines:current_table.append(line.strip().replace('<br>', '\n').split('|')[1:-1]) df = pd.DataFrame(current_table[1:], columns=current_table[0])return dfdf=parse_markdown_tables("单元设计.md")def convert(num,df):print(num)doc = Document("template.docx")# keys = docx_get_keys(doc) # Let's suppose the Word document has the keys: ${name} and ${phone}# print(keys)  #['name', 'week', 'problem', 'location', 'test', 'obj', 'book', 'date', 'seq', 'homework', 'review', 'goal']docx_replace(doc,book=df.iloc[num].tolist()[8].strip(),week=df.iloc[num].tolist()[0].strip(),problem=df.iloc[num].tolist()[6].strip(),review=df.iloc[num].tolist()[11].strip(),name=df.iloc[num].tolist()[3].strip(),location=df.iloc[num].tolist()[7].strip(),date=df.iloc[num].tolist()[1].strip(),homework=df.iloc[num].tolist()[10].strip(),seq=df.iloc[num].tolist()[2].strip(),test=df.iloc[num].tolist()[9].strip(),obj=df.iloc[num].tolist()[4].strip(),goal=df.iloc[num].tolist()[5].strip())return docmaster = Document("master.docx")# 任意word文档,里面可以包含封面
composer = Composer(master)for i in range(len(df.axes[0])):unit_doc=convert(i,df)composer.append(unit_doc)
composer.save("combined.docx")

效果,16张表:

在这里插入图片描述
项目地址:https://github.com/fjh1997/Unit

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com