微信扫码
添加专属顾问
我要投稿
软件研发过程中,我们经常需要各种各样的模拟数据来测试软件,为了让数据更真实地接近用户端数据,需要数据满足一定的规则,同时,数据还可能涉及一些逻辑运算等。
首先,开始动手前,想清楚要开发解决什么问题的工具,本案例:自动生成100条满足条件的学生信息,供某软件功能测试时使用,节省手动处理测试数据的时间。
下面,是详细的开发步骤。
开发步骤
第1步:条件准备
第2步:提示词设置
提示词设计如下:
##
我们需要注意,python程序运行的环境,因为不同版本的python存在兼容性问题,而AI 写的脚本程序并不一定在你的环境下可正确运行。所以,在提示词设计时,要明确出来(此处,我踩坑了,是后面才加上去的)
第3步:AI生成脚本程序
下面是kimi输出的python程序:
import openpyxl
import random
from openpyxl.utils import get_column_letter
# 定义文件路径
file_path = 'D:\\temp\\Classinfo.xlsx'
# 打开现有的Excel工作簿和工作表
try:
wb = openpyxl.load_workbook(file_path)
ws = wb.active
except FileNotFoundError:
print(f"File {file_path} not found.")
exit()
# 读取第2行样例信息
sample_row = 2
sample_data = [cell.value for cell in ws[1]]
# 定义姓氏列表
surnames = ["李", "张", "刘", "王", "黄", "肖", "姚"]
# 随机生成学生数据
for i in range(1, 101):# 从1到100生成100个学生信息
# 学号
student_id = f"NS{str(i).zfill(4)}"
# 姓名
surname = random.choice(surnames)
name = f"{surname}{random.randint(0, 9)}"
# 语文、数学、英语成绩
scores = [random.randint(1, 100) for _ in range(3)]
total_score = sum(scores)
average_score = total_score / len(scores)
# 插入数据到工作表中
new_row = [student_id, name] + scores + [total_score, average_score]
ws.append(new_row)
# 输出执行信息
print(f"Generated data for student {i}: {student_id}, {name}, Scores: {scores}, Total: {total_score}, Average: {average_score}")
# 保存工作簿
wb.save(file_path)
print("Data generation and file saving completed.")
第4步:运行脚本
第5步:查检生成的结果
打开程序执行后生成的结果文件,如下:
注意事项
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2025-10-15
当“翻译”成本归零:AI如何重塑组织架构
2025-10-15
ChatGPT 成人模式要来了,但作为成年人我一点都不高兴
2025-10-15
4年融资7000万美元,给工地装上AI大脑,这家公司想解决建筑业数据灾难
2025-10-15
万字长文|大语言模型结构化输出(Structured Output)的技术原理和实现
2025-10-15
信息量很大!2025.10.2 硅谷内部关于 AI Agent 的讨论会实录
2025-10-15
深度|收入8个月翻4倍,自动化神器n8n创始人:AI要么是一个巨大的机遇,要么是公司的终结
2025-10-14
Opera Neon 浏览器重磅升级:集成 OpenAI Sora 2,开启智能创作新纪元
2025-10-14
Palantir 创始工程师深度分享:FDE 模式是 Agent 时代的 PMF 范式
2025-08-21
2025-08-21
2025-08-19
2025-09-16
2025-07-29
2025-09-08
2025-09-17
2025-08-19
2025-09-29
2025-08-20
2025-10-14
2025-10-13
2025-10-09
2025-10-09
2025-10-07
2025-10-04
2025-09-30
2025-09-29