ai_member_xiaobian/tmp/gen_excel.py
2026-05-26 08:10:02 +08:00

93 lines
4.1 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.styles import Font, Alignment, PatternFill, Border, Side
wb = openpyxl.Workbook()
ws = wb.active
ws.title = "U23_L2_起"
ws.column_dimensions['A'].width = 12
ws.column_dimensions['B'].width = 45
ws.column_dimensions['C'].width = 12
ws.column_dimensions['D'].width = 42
header_font = Font(bold=True, size=11)
header_fill = PatternFill(start_color="D9D9D9", end_color="D9D9D9", fill_type="solid")
header_align = Alignment(horizontal="center", vertical="center", wrap_text=True)
cell_align = Alignment(vertical="top", wrap_text=True)
thin_border = Border(
left=Side(style="thin"), right=Side(style="thin"),
top=Side(style="thin"), bottom=Side(style="thin")
)
headers = ["类型", "剧情描述", "角色名", "编剧台词"]
for col, h in enumerate(headers, 1):
cell = ws.cell(row=1, column=col, value=h)
cell.font = header_font
cell.fill = header_fill
cell.alignment = header_align
cell.border = thin_border
rows = [
["TL", '【场景】May农场悬挂"Desert Fruit Tasting"横幅,展台摆满水果,记者扛摄像机走动)\n【角色】User、May', "", ""],
["", "May在农场入口迎接User", "", ""],
["", "", "May", "Hi! Welcome to the fruit tasting!"],
["中互动", "", "User", "I love fruit!"],
["", "May开心地点头指向远处Sam的展位", "", ""],
["", "", "May", "I am so happy!"],
["", "", "May", "But today, we have one big job."],
["", "User顺着May手指方向看去——Sam在巨型Pineapple旁来回踱步满头大汗", "", ""],
["", "", "May", "Sam needs our help."],
["", "", "May", "Come!"],
["TL", "【角色】Sam、记者、Kalab", "", ""],
["", "User和May走到Sam展位前。记者举着摄像机对准巨型Pineapple", "", ""],
["", "", "记者", "Tell us about your pineapple!"],
["", "Sam满脸通红声音越说越小", "", ""],
["", "", "Sam", "My pineapple is big."],
["", "", "Sam", "Very big."],
["", "", "Sam", "I... I am sorry."],
["", "记者们面面相觑。Sam低下头。User看不下去跳出来", "", ""],
["中互动", "", "User", "Sam grew this pineapple!"],
["", "Kalab突然挤进镜头前挡住Sam", "", ""],
["", "", "Kalab", "Look at my golden kiwi!"],
["", "【插入图】Kalab的黄金Kiwi特写——巨大、金黄、闪闪发光", "", ""],
["", "", "Kalab", "Two hundred days of sun!"],
["", "", "Kalab", "The best fruit in the desert!"],
["TL", "【角色】User、May、Sam记者和Kalab退到背景", "", ""],
["", "May皱眉拉User到一旁", "", ""],
["", "", "May", "I do not like him."],
["中互动", "", "User", "I do not like that kiwi."],
["", "May点头转身走向沮丧的Sam", "", ""],
["", "", "May", "Do not worry, Sam."],
["", "", "May", "What fruit do you like?"],
["", "", "May", "I like your pineapple!"],
["中互动", "", "User", "I like Sam's pineapple too!"],
["", "Sam终于抬起头稍稍振作。May压低声音", "", ""],
["TL", "【角色】User、May、Sam、Jack", "", ""],
["", "", "May", "Tom is the judge."],
["", "", "May", "He is our friend."],
["", "", "Sam", "Tom will pick my pineapple!"],
["", "Sam露出笑容。User和May交换欣慰的眼神", "", ""],
["", "【画外音】低沉的声音从背后传来", "", ""],
["", "", "Jack", "...Not at all."],
["", "三人同时转身。Jack倚在栅栏边神情严肃目光穿过会场——落在远处Tom身上。画面定格。", "", ""],
]
tl_fill = PatternFill(start_color="E8F0FE", end_color="E8F0FE", fill_type="solid")
interact_fill = PatternFill(start_color="FFF2CC", end_color="FFF2CC", fill_type="solid")
for i, row in enumerate(rows, 2):
for col, val in enumerate(row, 1):
cell = ws.cell(row=i, column=col, value=val)
cell.alignment = cell_align
cell.border = thin_border
if row[0] == "TL":
cell.fill = tl_fill
elif row[0] == "中互动":
cell.fill = interact_fill
ws.freeze_panes = "A2"
output_path = "/root/.openclaw/workspace-xiaobian/output/U23_L2_起_剧本V1.xlsx"
wb.save(output_path)
print(f"Saved: {output_path}")