Python 测试数据生成:模拟员工的工作日
我试图通过python生成一些测试数据。(我的应用程序不是用python编写的,但python似乎很容易生成数据)。我想通过生成活动的“时段”来模拟员工的典型工作日。下面的函数需要生成Python 测试数据生成:模拟员工的工作日,python,Python,我试图通过python生成一些测试数据。(我的应用程序不是用python编写的,但python似乎很容易生成数据)。我想通过生成活动的“时段”来模拟员工的典型工作日。下面的函数需要生成开始和结束之间的“n”时隙数(两者之间有一些随机间隔,看起来很自然),总时间为小时 我可以概述我将要做的事情: 绘制n随机数 s=对所有数字求和 将total\u hrs转换为total\u min 制作工作组块:chunks=[c/s*total\u min(以数字表示的c)] 计算结束-开始和总时数 对该差异再
开始
和结束
之间的“n
”时隙数(两者之间有一些随机间隔,看起来很自然),总时间为小时
我可以概述我将要做的事情:
绘制n
随机数
s=对所有数字求和
将total\u hrs
转换为total\u min
制作工作组块:chunks=[c/s*total\u min(以数字表示的c)]
计算结束-开始
和总时数
对该差异再次执行相同的步骤1-4以获得间隙(使用n+1在开始时留出间隙
最后,将所有块转换为datetime.timedelta
,并连续添加timedelta以开始(在开始时,您应该已经将start
和end
转换为datetime.date
)
抱歉,我的意思不明确。我不精通python,正在寻找编写此函数以生成时隙的指针/示例。希望std库(time,random)和列表操作工具使此任务更容易(我没有接触过)。我可以考虑用一堆for循环来实现这一点,但希望python专家用户可以帮助我找到一种更好的方法来实现。我想,一个for循环就足够了。循环n次,并为每个循环生成一个槽和一个中断。完成。谢谢。我将深入研究python库文档。我担心的是操纵时间(根据总时间/n添加分数(也可以随机化以避免统一的时隙),还可以在+1之间添加随机间隔。感谢您指出datetime.timedelta的可用性。这使得添加持续时间变得更容易
slots = [] #list of slot == {start:<>, end:<>}
def time_slot(start, end, n, total_hrs):
# generate n non-overlapping time slot between start and end (with some random gap between to seem natural)
print (slots)
time_slot( "1/1/2013 9:00", "1/1/2013 17:00", 3, 8)
[ {start: "1/1/2013 9:00", end: "1/1/2013 10:30"}, ...., {start: "1/1/2013 14:00", end: "1/1/2013 16:44"}]
#total time == 8