llm_learn/生成.py
2025-10-16 08:46:13 +08:00

85 lines
4.8 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import openpyxl
from openpyxl import Workbook
def create_input_excel(filename="input_params.xlsx"):
wb = Workbook()
ws = wb.active
ws.title = "输入接口"
headers = ["文件名/数据流", "格式", "字段 (Field)", "类型 (Type)", "描述 (Description)"]
ws.append(headers)
data = [
["virus_params.json", "JSON", "strain_name", "String", "病毒变种标识符,如\"Delta\", \"Omicron BA.5\""],
["", "", "r0", "Float", "基本再生数,描述病毒内在传播力"],
["", "", "latent_period", "Float", "平均潜伏期时长(天)"],
["", "", "generation_interval", "Float", "平均世代间隔(天)"],
["", "", "asymptomatic_rate", "Float", "无症状感染比例0-1之间"],
["", "", "symptomatic_rate", "Float", "出现临床症状的比例0-1之间"],
["", "", "severe_rate", "Float", "确诊者中发展为重症的比例0-1之间"],
["", "", "fatality_rate", "Float", "感染致死率IFR0-1之间"],
["", "", "env_survival", "Float", "病毒在标准环境下的存活时间(小时)"],
["environment_params.json", "JSON", "target_population", "Integer", "目标区域总人口数"],
["", "", "pop_density", "Float", "目标区域平均人口密度(人/平方公里)"],
["", "", "avg_temperature", "Float", "攻击期间预测平均温度(摄氏度)"],
["", "", "avg_humidity", "Float", "攻击期间预测平均相对湿度(百分比)"],
["", "", "terrain_type", "String", "主要地形类型,如\"Urban\", \"Suburban\", \"Rural\""],
["operation_plan.json", "JSON", "planned_start_time", "String (ISO 8601)", "计划中的攻击发起时间YYYY-MM-DDThh:mm:ssZ"],
["", "", "actual_start_time", "String (ISO 8601)", "实际攻击发起时间YYYY-MM-DDThh:mm:ssZ"],
["", "", "expected_casualties", "Integer", "期望达成的感染人数目标"],
["", "", "expected_fatalities", "Integer", "期望达成的死亡人数目标"],
["defense_capability.json", "JSON", "cc_response_delay", "Float", "指挥控制响应延迟(小时)"],
["", "", "si_detection_delay", "Float", "侦察预警-病例发现延迟(小时)"],
["", "", "si_testing_capacity", "Integer", "侦察预警-日最大核酸检测能力"],
["", "", "pp_public_compliance", "Float", "预防保护-公众防护措施依从率0-1之间"],
["", "", "pp_vaccination_rate", "Float", "预防保护-疫苗全程接种率0-1之间"],
["", "", "qi_isolation_delay", "Float", "封控隔离-感染者隔离延迟(小时)"],
["", "", "qi_quarantine_capacity", "Integer", "封控隔离-可用隔离床位总数"],
["", "", "mt_hospital_beds", "Integer", "救治后送-医院总床位数"],
["", "", "mt_icu_beds", "Integer", "救治后送-ICU总床位数"],
["", "", "rs_drug_dev_cycle", "Float", "应急科研-特效药研发周期(月)"]
]
for row in data:
ws.append(row)
wb.save(filename)
print(f"{filename} 已生成")
def create_output_excel(filename="output_params.xlsx"):
wb = Workbook()
ws = wb.active
ws.title = "输出接口"
headers = ["文件名/数据流", "格式", "字段 (Field)", "类型 (Type)", "描述 (Description)"]
ws.append(headers)
data = [
["assessment_report.json", "JSON", "estimated_casualties", "Integer", "模型估算的总感染人数"],
["", "", "estimated_fatalities", "Integer", "模型估算的总死亡人数"],
["", "", "casualty_goal_achieved", "Boolean", "总感染人数目标是否达成"],
["", "", "fatality_goal_achieved", "Boolean", "总死亡人数目标是否达成"],
["", "", "casualty_achievement_rate", "Float", "感染目标达成率estimated/expected"],
["", "", "fatality_achievement_rate", "Float", "死亡目标达成率estimated/expected"],
["", "", "peak_medical_demand", "Integer", "估算的峰值医疗需求(住院人数)"],
["", "", "medical_system_overwhelmed", "Boolean", "是否发生医疗资源挤兑"],
["", "", "key_vulnerability", "Array of String", "识别出的b方关键脆弱性\"检测延迟\", \"隔离容量不足\""],
["", "", "major_risk_factors", "Array of String", "导致方案失败的主要风险因素(如\"病毒传播力不足\", \"响应延迟过长\""],
["", "", "overall_effectiveness_score", "Float", "方案综合效能评分0-100"],
["", "", "overall_risk_score", "Float", "方案综合风险评分0-100"]
]
for row in data:
ws.append(row)
wb.save(filename)
print(f"{filename} 已生成")
if __name__ == "__main__":
create_input_excel()
create_output_excel()