ISEE小语
前 言
在日常工作中,利用 Python 和 DeepSeek API 可以自动化制作报告、培训、学习计划等文档。
通过 Python 调用 DeepSeek API 并自动化生成 Word 文档,能够显著提升工作效率、降低成本,并为复杂场景提供灵活的解决方案。
适用场景:技术文档生成、项目计划、报告生成、合同生成、教育材料等。
准备工作
deepseek api方式,需要提前创建一个api key
获取DeepSeek API KEY
访问 DeepSeek 官方网站,注册账号并登录。
https://www.deepseek.com/


在用户中心或开发者页面中,点击左侧菜单【API Keys】,点击创建API key,并妥善保存。

创建成功后,一定要记录此处的API key。因为deepseek的平台不会再次展示API Keys的值
一定要记录
一定要记录
一定要记录
安装 Python 环境
访问python官方网站下载。
https://www.python.org/
这里不再赘述,小栈使用的版本是python3.9.16
安装 PyCharm
访问PyCharm官方网站下载。
https://www.jetbrains.com.cn/pycharm/download/?section=windows
下载专业版本
pycharm-professional-2024.3.2.exe
这里也不再赘述,小栈使用的版本是PyCharm 2024.3
安装步骤和激活方式,有需要的,可参考
PyCharm 2024.3 完整版:Windows安装与免费激活全攻略(附安装包)
调用deepseek
在上次分享中,已经详细讲述如何调用deepseek api,这里不再赘述,我们直接使用。
如果有想了解的,可以参照:
用Python代码调用DeepSeek API的快速指南(详版)
ISEE小栈,公众号:ISEE小栈轻松搞定:用Python代码调用DeepSeek API的快速指南(详版)
上次有朋友提出疑问 “请求体中messages 中的两个角色 (role) system 和 user 代表什么含义?” 我们这里会补充一下:
1. system:
该角色用于提供系统的背景信息或指令。它可以定义对话的上下文、角色、风格或任何特定的行为期望。通过设置 system 消息,您可以影响模型的行为和回答的质量。
2. user:
该角色表示用户的输入或提问。这是用户希望模型回应的具体内容,通常是对话的实际问题或请求。
安装三方库
安装三方库 openai
pip3 install openai
引用三方库
引用三方库 openai
from openai import OpenAI
实际调用
将注册deepseek创建的api key输入,就可以直接使用了,这里将 角色、指令 和 参数 一同 传入请求体。
比如现在要给一位只有业余时间的同学制定一份python学习计划,
现在定义 系统背景 和 用户提问:
role_system = "你是一名专业的Python程序员,专注python技术的培训学习。"role_user = "在每日可用2小时(19:00-21:00)、脑力峰值下降30%的晚间时段,设计Python机器学习进阶计划(需兼容Anki记忆曲线),最终输出markdown格式"
这个可根据自己的实际情况定义,其实越清晰越好,本文只以python为例。
具体实际代码如下:
from openai import OpenAI# 初始化客户端client = OpenAI(api_key="deepseek创建的api key", base_url="https://api.deepseek.com")# 系统角色和用户输入# role_system = "你是一名专业的Python开发工程师,最终输出markdown格式"role_system = "你是一名专业的Python程序员,专注python技术的培训学习。"role_user = "在每日可用2小时(19:00-21:00)、脑力峰值下降30%的晚间时段,设计Python机器学习进阶计划(需兼容Anki记忆曲线),最终输出markdown格式"response = client.chat.completions.create(model="deepseek-chat",messages=[{"role": "system", "content": role_system},{"role": "user", "content": role_user},],temperature=1.0,top_p=0.9,max_tokens=500,stream=False)# 输出markdown_text = response.choices[0].message.contentprint(markdown_text)
结果:
## Python 机器学习进阶计划 (晚间时段,兼容 Anki 记忆曲线)**目标:** 在每日 2 小时 (19:00-21:00) 的晚间时段,利用脑力峰值下降 30% 的特点,高效学习 Python 机器学习进阶知识,并结合 Anki 记忆曲线进行知识巩固。**计划周期:** 8 周**每周安排:*** **周一至周五:** 学习新知识 + Anki 复习* **周六:** 项目实践 + Anki 复习* **周日:** 休息 + 自由复习**每日时间安排 (19:00-21:00):*** **19:00-19:30:** Anki 复习 (复习前一天学习内容)* **19:30-20:30:** 学习新知识 (视频/书籍/文档)* **20:30-21:00:** 代码实践 + 笔记整理 + Anki 卡片制作**学习路线:****第一阶段 (1-2 周): 机器学习基础回顾与强化*** **目标:** 巩固机器学习基础概念,为进阶学习打下坚实基础。* **学习内容:*** 机器学习基本概念 (监督学习、无监督学习、强化学习)* 常用机器学习算法 (线性回归、逻辑回归、决策树、随机森林、SVM 等)* 模型评估指标 (准确率、召回率、F1 值、ROC 曲线等)* 特征工程 (特征选择、特征缩放、特征编码等)* **资源推荐:*** 书籍: 《机器学习实战》* 视频: 吴恩达机器学习课程 (Coursera)* 网站: Scikit-learn 官方文档* **Anki 卡片制作:*** 机器学习基本概念* 常用机器学习算法原理、优缺点、应用场景* 模型评估指标计算公式、意义* 特征工程常用方法**第二阶段 (3-4 周): 深度学习入门*** **目标:** 掌握深度学习基本概念和常用模型。* **学习内容:*** 神经网络基础 (感知机、多层感知机、激活函数、损失函数、优化算法)* 卷积神经网络 (CNN) 原理及应用* 循环神经网络 (RNN) 原理及应用* 深度学习框架
以上结果输出的是markdown格式
生成Word文档
markdown格式的直接写入Word,条理比较清晰,但格式需要做处理。在Python中,我们需要用到以下三方库:
1. markdown: Markdown 解析
2. python-docx:Word操作
3. beautifulsoup4:Html解析
这里可能有朋友会有疑问,说明一下为什么不直接使用Markdown 的解析能力,从而增加了辅助工具BeautifulSoup?
如果单纯使用Markdown 的解析处理会比较复杂,里面有部分Html标签,个人感觉用BeautifulSoup辅助更加方便。
安装三方库
安装三方库markdown python-docx beautifulsoup4:
pip install markdown python-docx beautifulsoup4
引入三方库
将添加的 角色 和 优化的指令传入请求体:
import markdownfrom docx import Documentfrom bs4 import BeautifulSoup
代码实现
这里我们直接封闭一个函数:
import markdownfrom docx import Documentfrom docx.shared import Ptfrom docx.enum.text import WD_ALIGN_PARAGRAPHfrom bs4 import BeautifulSoupdef markdown_to_word(markdown_text, output_file):# 解析 Markdown 为 HTMLhtml_content = markdown.markdown(markdown_text)# 创建 Word 文档doc = Document()# 设置默认字体和样式style = doc.styles['Normal']font = style.fontfont.name = 'Times New Roman'font.size = Pt(12)# 将 HTML 转为文本解析(不保留标签)soup = BeautifulSoup(html_content, "html.parser")# 遍历解析后的内容for element in soup:if element.name == "h1":# 一级标题,居中显示paragraph = doc.add_heading(element.text, level=1)paragraph.alignment = WD_ALIGN_PARAGRAPH.CENTERdoc.add_paragraph()elif element.name == "h2":# 二级标题paragraph = doc.add_heading(element.text, level=2)paragraph.alignment = WD_ALIGN_PARAGRAPH.CENTERdoc.add_paragraph()elif element.name == "h3":# 三级标题paragraph = doc.add_heading(element.text, level=3)paragraph.alignment = WD_ALIGN_PARAGRAPH.LEFTdoc.add_paragraph()elif element.name == "p":# 普通段落doc.add_paragraph(element.text)elif element.name == "ul":# 无序列表for li in element.find_all("li", recursive=False):doc.add_paragraph(li.text, style="List Bullet")elif element.name == "ol":# 有序列表for li in element.find_all("li", recursive=False):doc.add_paragraph(li.text, style="List Number")elif element.name == "blockquote":# 引用doc.add_paragraph(element.text, style="Intense Quote")elif element.name == "code":# 代码块doc.add_paragraph(element.text, style="Code")# 保存生成的 Word 文档doc.save(output_file)return f"生成 {output_file} 成功!"
生成Word文档
我们把以上两部分结合,调用 deepseek 后直接 调用写入word函数
def main():output_file = 'XXX_Python业余学习计划.docx'result = markdown_to_word(markdown_text, output_file)print(result)if __name__ == '__main__':main()
结果:

这样是不是更加方便了呢
,再也不用输出结果、复制、粘贴、调整Word格式了!大大节省了时间!
总 结
通过 Python 调用 DeepSeek API 并自动化生成 Word 文档具有以下好处:
1. 提高效率
自动化生成:无需手动编写或复制粘贴内容,节省大量时间和精力。
批量处理:可以快速生成多个文档,适用于需要大量文档的场景(如报告、合同、教程等)。
2. 内容一致性
标准化输出:通过 API 生成的内容格式统一,避免人为错误或格式不一致的问题。
动态更新:如果内容需要更新,只需修改 API 请求或模板,文档会自动同步更新。
3. 灵活性和可定制性
动态内容生成:可以根据不同需求生成定制化内容(如个性化报告、数据分析结果等)。
模板化设计:结合 Word 模板,可以灵活控制文档的样式、布局和结构。
4. 集成性强
与其他工具集成:可以与 Python 生态系统中的其他工具(如 Pandas、Matplotlib 等)结合,生成包含数据、图表和文本的复杂文档。
自动化工作流:可以嵌入到自动化脚本或工作流中,实现端到端的文档生成和分发。
5. 节省成本
减少人工干预:降低对人工编写文档的依赖,减少人力成本。
资源优化:通过 API 调用,可以按需生成文档,避免资源浪费。
6. 可扩展性
模块化设计:代码可以模块化,方便扩展和重用。
支持多种格式:除了 Word 文档,还可以生成 PDF、HTML 等其他格式。
有一点,使用Python 调用 DeepSeek API是消费的,但价格很亲民,这点请知悉!
小栈的分享,对入门使用来说,应该是没有问题了,如果有什么更好的想法,欢迎留言,小栈与你一起成长!
小栈将实现代码整理
后台回复deepseek_word即可获取!
寄语:世间三美,明月,清风,眼前……
看到这儿的朋友帮点个“赞”和“在看”,谢谢支持~!

文章就分享到这儿,喜欢就点个赞吧!





