当前位置: 首页 > news >正文

python实现根据接口返回数据生成报告和图表

背景
现在想要通过prompt实现生成日报且中间插入图片,并且是markdown的形式。大概实现思路是使用python中类似反射的思路实现上述功能,由大模型生成代码,运行时生成代码且执行。

import requests
import json
import re# -------------------------------
# 1️⃣ 配置 DeepSeek API
# -------------------------------
API_KEY = 'sk-23ef0511ccec4b729f76e0a62bef75904'
API_URL = 'https://api.deepseek.com/v1/chat/completions'# -------------------------------
# 2️⃣ 准备任务数据
# -------------------------------
task_data = [{"任务": "需求分析", "开始": "2025-08-01", "结束": "2025-08-05", "负责人": "Alice"},{"任务": "设计", "开始": "2025-08-06", "结束": "2025-08-10", "负责人": "Bob"},{"任务": "开发", "开始": "2025-08-11", "结束": "2025-08-20", "负责人": "Charlie"},{"任务": "测试", "开始": "2025-08-21", "结束": "2025-08-25", "负责人": "Alice"}
]# -------------------------------
# 3️⃣ 构建 Prompt
# -------------------------------
prompt = f"""
请根据以下任务数据生成 Python 代码:
1. 使用 pandas 处理任务数据
2. 使用 matplotlib 绘制甘特图
3. 使用 python-docx 生成 Word 报告,包含:- 插入文字报告总结- 插入甘特图图片
4. 输出完整 Python 代码,不要解释,不要任何额外文字任务数据:
{json.dumps(task_data, ensure_ascii=False, indent=2)}
"""# -------------------------------
# 4️⃣ 调用 DeepSeek API 获取代码
# -------------------------------
headers = {'Authorization': f'Bearer {API_KEY}','Content-Type': 'application/json'
}data = {'model': 'deepseek-chat','messages': [{'role': 'user', 'content': prompt}],'temperature': 0.5
}response = requests.post(API_URL, headers=headers, json=data)
response.raise_for_status()
generated_code = response.json()['choices'][0]['message']['content']# -------------------------------
# 5️⃣ 清洗代码(去掉 Markdown 代码块)
# -------------------------------
clean_code = re.sub(r"```(?:python)?\n", "", generated_code)
clean_code = re.sub(r"```", "", clean_code)# -------------------------------
# 6️⃣ 执行生成的代码
# -------------------------------
exec(clean_code)print("报告已生成:项目进度报告.docx")
http://www.dtcms.com/a/343522.html

相关文章:

  • (第二十期下)超链接的更多分类
  • 医疗元宇宙:破解医疗困局与数字化变革路径
  • gRPC 服务发现选型对比
  • 基于STM32单片机的二维码识别物联网OneNet云仓库系统
  • 最小生成树的普利姆算法和克鲁斯卡尔算法
  • ABP vNext 速率限制在多租户场景落地
  • Leetcode 深度优先搜索 (13)
  • Leetcode 深度优先搜索 (12)
  • 20250821 圆方树总结
  • 通信基础理论
  • C语言基础习题——01
  • plantsimulation小知识25.08.21 对话框的使用方法
  • 深圳大学-计算机信息管理课程实验 C++ 自考模拟题
  • 【LeetCode】18. 四数之和
  • C语言:字符函数与字符串函数(2)
  • ORA-16331: container is not open ORA-06512: at “SYS.DBMS_LOGMNR“
  • Hexo 博客图片托管:告别本地存储,用 PicGo + GitHub 打造高速稳定图床
  • ArcMap 数据框裁剪(Data Frame Clip)操作教程
  • Service方法事务失效的原因是什么?
  • 2025-08-21 Python进阶8——命名空间作用域
  • PiscCode实现MediaPipe 的人体姿态识别:三屏可视化对比实现
  • 算法题Day4
  • WaitForSingleObject函数详解
  • JavaScript 性能优化实战技术文章大纲
  • C++手撕LRU
  • 中国之路 向善而行 第三届全国自驾露营旅游发展大会在阿拉善启幕
  • Webpack的使用
  • 5.Shell脚本修炼手册---Linux正则表达式(Shell三剑客准备启动阶段)
  • AI 时代的 “人机协作”:人类与 AI 如何共塑新生产力
  • 7.Shell脚本修炼手册---awk基础入门版