You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

XPath属性筛选报Invalid predicate,Pandas读取XML实验数据遇阻

解决Pandas读取XML时XPath谓词无效的问题

问题原因

报错XPathEvalError: Invalid predicate的核心原因是:XPath表达式中属性值Experiment#1作为字符串未被引号包裹。XPath语法规定,字符串类型的属性筛选值必须用单引号或双引号括起来,否则解析器会将Experiment#1误判为节点或非法表达式,进而触发语法错误。

修正后的代码

将XPath中[@sectionName=Experiment#1]修改为[@sectionName='Experiment#1'](用单引号包裹字符串值),即可正常执行:

import pandas as pa

a = pa.read_xml(
    path_or_buffer=filepath,
    xpath="//doc:experimentSection[@sectionName='Experiment#1']/doc:plateSection/doc:microplateData/doc:wave[@waveID=1]/doc:well[@wellID]/doc:oneDataSet",
    namespaces={"doc": "http://moleculardevices.com/microplateML"}
)

效果验证

执行上述代码后,会正确筛选出指定实验(sectionName为Experiment#1)和指定波长(waveID=1)的数据,生成包含rawData和timeData列的目标DataFrame。

内容的提问来源于stack exchange,提问作者Maurice M.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 05:34:50