csv无法直接表达xml嵌套结构,因其是二维表格格式,缺乏父子、兄弟或重复节点概念;主流做法是用xpath定位上下文并展开重复节点为独立记录,同时区分属性与文本字段。
XML嵌套结构在CSV中天然无法直接表达
CSV 是二维表格格式,没有父子、兄弟或重复节点的概念。XML 中的 <order><item><name>A</name></item><item><name>B</name></item></order> 这类重复子元素,强行扁平化会导致行数膨胀或字段语义丢失——这不是工具不行,是模型不匹配。
用 XPath 提取路径 + 展开重复节点是主流做法
核心思路:把每个 <item></item> 视为一条独立记录,用 XPath 定位其上下文(如所属 <order id="123"></order>),再拼接字段。Python 的 xml.etree.ElementTree 或 lxml 都支持 .findall() 和 .get()。