Refine prediction workbook summary note

This commit is contained in:
2026-07-21 15:20:14 +08:00
parent f599647fbd
commit 8554d2db97
2 changed files with 28 additions and 7 deletions
+21 -3
View File
@@ -56,9 +56,13 @@ FEATURES = [
ID_COLUMN = "管道编号"
PIPE_AGE_COLUMN = "管龄(年)"
REMAINING_LIFE_COLUMN = (
"预计剩余寿命(年)(管道健康状态 ≥0.5 的剩余年数;"
"如管道健康状态在73年内均高于0.5,则为73减去当前管龄)"
REMAINING_LIFE_COLUMN = "剩余寿命(年)"
REMAINING_LIFE_NOTE = (
"注:\n"
"剩余寿命计算方法为:\n"
"1)管道健康状态 ≥0.5 的剩余年数;\n"
"2)如管道健康状态在73年内均高于0.5(目前收集到模型数据管龄最大为73年),"
"那么管道剩余寿命为73减去当前管龄。"
)
LEGACY_PIPE_AGE_COLUMN = "管龄"
COLUMN_ALIASES = {
@@ -549,6 +553,8 @@ def write_prediction_workbook(
]
with pd.ExcelWriter(excel_path, engine="openpyxl") as writer:
from openpyxl.styles import Alignment
summary_df = pd.DataFrame(
summary_sheet_rows,
columns=[ID_COLUMN, PIPE_AGE_COLUMN, "当前健康状态", "健康等级", REMAINING_LIFE_COLUMN],
@@ -564,6 +570,18 @@ def write_prediction_workbook(
summary_worksheet = writer.book["结果摘要"]
for cell in summary_worksheet["C"][1:]:
cell.number_format = "0.00"
note_row = summary_worksheet.max_row + 2
summary_worksheet.merge_cells(
start_row=note_row,
start_column=1,
end_row=note_row + 3,
end_column=5,
)
note_cell = summary_worksheet.cell(note_row, 1)
note_cell.value = REMAINING_LIFE_NOTE
note_cell.alignment = Alignment(wrap_text=True, vertical="top")
for row_index in range(note_row, note_row + 4):
summary_worksheet.row_dimensions[row_index].height = 28
sample_worksheet.freeze_panes = "A2"
sample_worksheet.auto_filter.ref = sample_worksheet.dimensions
sample_worksheet.column_dimensions["A"].width = 12