init
This commit is contained in:
61
generate_test_data.py
Normal file
61
generate_test_data.py
Normal file
@@ -0,0 +1,61 @@
|
||||
import pandas as pd
|
||||
import random
|
||||
|
||||
random.seed(42)
|
||||
|
||||
days = ['1月1日', '1月2日', '1月3日', '1月4日', '1月5日', '1月6日', '1月7日']
|
||||
time_slots = ['9:00-10:30', '10:30-12:00', '14:00-15:30', '15:30-17:00', '18:00-19:30']
|
||||
|
||||
teacher_count = 30
|
||||
student_count = 100
|
||||
|
||||
teacher_names = [f"张{i}老师" for i in range(1, teacher_count + 1)]
|
||||
teacher_types = []
|
||||
for i in range(teacher_count):
|
||||
if i < teacher_count * 0.4:
|
||||
teacher_types.append("新")
|
||||
else:
|
||||
teacher_types.append("旧")
|
||||
random.shuffle(teacher_types)
|
||||
|
||||
teachers = []
|
||||
for i, name in enumerate(teacher_names):
|
||||
teacher = {"老师姓名": name}
|
||||
teacher["老师类型"] = teacher_types[i]
|
||||
available_days = random.sample(days, random.randint(1, 3))
|
||||
for day in days:
|
||||
if day in available_days:
|
||||
num_slots = random.randint(1, 3)
|
||||
teacher[day] = '; '.join(random.sample(time_slots, num_slots))
|
||||
else:
|
||||
teacher[day] = ''
|
||||
teachers.append(teacher)
|
||||
|
||||
df_teachers = pd.DataFrame(teachers)
|
||||
df_teachers.to_excel('老师信息示例.xlsx', index=False)
|
||||
print(f"已生成 {teacher_count} 位老师数据")
|
||||
|
||||
student_names = [f"学生{i}" for i in range(1, student_count + 1)]
|
||||
students = []
|
||||
for i, name in enumerate(student_names):
|
||||
student = {"学生姓名": name}
|
||||
available_days = random.sample(days, random.randint(2, 5))
|
||||
for day in days:
|
||||
if day in available_days:
|
||||
num_slots = random.randint(1, 3)
|
||||
student[day] = '; '.join(random.sample(time_slots, num_slots))
|
||||
else:
|
||||
student[day] = ''
|
||||
|
||||
history_count = min(5, i)
|
||||
available_teachers = [t for t in teacher_names if t != name]
|
||||
if available_teachers:
|
||||
history_teachers = random.sample(available_teachers, history_count)
|
||||
student["历史匹配老师"] = ', '.join(history_teachers)
|
||||
else:
|
||||
student["历史匹配老师"] = ""
|
||||
students.append(student)
|
||||
|
||||
df_students = pd.DataFrame(students)
|
||||
df_students.to_excel('学生信息示例.xlsx', index=False)
|
||||
print(f"已生成 {student_count} 名学生数据")
|
||||
Reference in New Issue
Block a user