[错误]: ExcelParser 丢弃仅包含图像的工作表和单行工作表
作者: yang0228创建于 2026年9月16日更新于 2026年9月16日
· 先决条件
- 我搜索了现有的问题, 调取请求, 和讨论, 没有发现这个错误报告。
- 这是一个错误,不是一个使用问题。
背景 / 描述
ExcelParser'悄悄地将只包含嵌入式图像的工作表放下,即使有包含 image=True'。 它还会放出一个包含一行人行的工作表:大熊猫将这行当作一列标题,因此DataFrame有一列但零数据行.
期望: 启用时只显示图像的工作表会生成图像段; 给定的表格中仍保留一行人行 。 真正的空白工作表仍不应产生任何章节。
实际:两个案件都退回`[]',没有警告。 加上第二行人行,既可以取出表格,也可以取出图像。
QQ 错误信件
没有例外。 复制指纹:
页:1 只图像 [] 单行 表格和图像 ['text', 'data']
预期的章节类型分别为`['数据]'、```文本''和```文本'、`数据'''。
* 重现步骤
安装 " 代理镜 " 、 " 熊猫 " 、 " opopyxl " 和 " Pillow " ,然后运行:
[Python]
导入 Ayncio
导入 io
从开平xl导入工作簿
从openpyxl.drawing.image 导入图像为 XLimage
从 PIL 导入图像
从代理镜. RAG 导入 ExcelParser
async def 主线( ):
用于大小写 ("仅图像","单行","表格和图像"):
工作手册=工作手册()
页: 1 活动
= "仅限图像":
page.append (["Revenue","year"]).
如果案例"表和图像":
页:1
单行道:
png = io. (原始内容存档于2018-09-29). 字节IO ()
Image.new ("RGB", (2, 2),"红色"). save (png,格式="PNG").
png.seek (0) (英语).
工作表.add image(XLimage(png),"A3")
输出=io. 字节IO ()
工作手册. save(产出)
工作手册. close ()
段落=等待 ExcelParser(包括 image=True). Parse ().
输出. getvalue (), “例. xlsx”
(中文(简体) ).
print( case, [section.content. (第2款)
ayncio.run(主要())环境
- AgentScope: 2.0.8,在 " 3ae8a1f4eca2dec6a519753e0c1f076ef83731f " 上复制。
- Python: 3.12.13 (英语).
- 操作系统: macOS
- 大熊猫:3.0.5;开口:3.1.5;枕口:12.3.0
根因/拟议修补
[`ExcelParser. parse sheet'](https://GitHub.com/agentscope-ai/agentscope/blob/3ae8a1f4eca2dec6a519753e0c1f0e76ef83731f/src/agentscope/RAG/ parser.py#L297-L359)在"df.empty"是真的时,在取出图像之前立即返回. 该条件也排除了只标头 DataFrames.
我想提出一个重点突出的定点:当存在列时,做出表格,并独立取出图像,不管是否有数据行. 仅仅删除空格检查就有可能为真正空白的表格排放一个毫无意义的表格,因此这些表格仍应排除在外。 复发覆盖率将包括Markdown/JSON、合并/分开的单子和`Including image=False'。 没有公共API或依赖性变化 . . . . . . .
内容来源: agentscope-ai/agentscope