# 2026-08-21 工作日志 ## universal_tool.py 改造(两项) ### 1. 直接读取 xlsx,不再转 csv - 新增 `read_table(filepath)` 统一入口 + `_read_xlsx` / `_read_csv`。(`read_csv` 兼容别名后已删除) - `find_file` 改为优先 `.xlsx`,其次 `.csv`。 - `get_csv_list_data` / `get_csv_table_data` / `get_player_names` 去掉 `.csv` 限制,支持任意表格格式。 - `build_document` 删除 `xlsx_to_csv_batch` 自动转换逻辑,直接从 config_dir / csv_dir 读 xlsx。 - `xlsx_to_csv_batch` 函数定义后已在第二轮清理中删除。 ### 2. Word 自动编号替代硬编码数字 - 新增 `_get_numbering_element` / `_create_decimal_numbering` / `_apply_numbering`。 - 重写 `add_numbered_items`:每次调用新建独立 numId(decimal, "1." 格式),段落用 numPr,文本不再带 "1." 前缀。 - 效果:在 Word 中增删条目后编号自动重排。 - 章节标题 `add_section_heading` 仍用硬编码中文数字("一、""二、"),因章节固定不增删。 ## 验证 - 用 managed python venv (3.13.12) + python-docx/openpyxl 实测: - 6 个编号段落均带 numPr;2 个章节用 2 个不同 numId 独立从 1 计数;无硬编码数字前缀。 - venv 位置:C:\Users\Administrator\.workbuddy\binaries\python\envs\default ## 项目清理(第二轮:删无用 + 更新文档) ### 删除 - `py/generate_doc.py`(旧硬编码版,路径写死)、`py/xlsx_to_csv.py`(不再需要转 csv)、`py/__pycache__`。 - 清理后 `py/` 仅剩 `universal_tool.py`。 ### 清理 universal_tool.py - 删除 `xlsx_to_csv_batch` 函数、`read_csv` 兼容别名、`import glob`。 - 更新文件头/章节注释:去除 "CSV 缓存" 说法,注明直接读 xlsx、Word 自动编号。 - py_compile + import 验证通过(read_table 存在,xlsx_to_csv_batch/read_csv 已无)。 ### 更新 memories/*.json - `data_source_mapping.json`:`csv_base_dir`→`table_base_dir`,各 source `.csv`→`.xlsx/csv`,`csv_format`→`table_format` 补充 xlsx 直读。 - `project_config.json`:去掉被删脚本引用,路径改为示例说明,补充 data_reading 策略。 - `system_prompts.json`:`source_file`→`source_file_example` + note(自动解析说明)。 - `icon_resource_mapping.json`:`base_dir`→示例,`csv_field`→`table_field` (.xlsx/csv)。 - `doc_format_spec.json`:标题改示例标注(格式规范本身通用,numbering 已是 Word 自动编号)。 ### 更新 使用请看.txt - 改为准确说明:自动扫描项目结构、直接读 xlsx、Word 自动编号、memories 仅为参考不被脚本读取。