解决pandas.read_xml读取EPO专利XML文件的KeyError问题并生成指定DataFrame
解决PATSTAT EPO专利XML读取问题
问题原因
你之前的报错是因为目标字段都是根节点<exchange-document>的属性,而非子元素。直接传入root.tag给read_xml(),方法会默认去查找该标签下的子元素列,自然找不到对应字段抛出KeyError。
正确读取方案
利用read_xml()的xpath和attrs_only参数,直接提取根节点的属性生成DataFrame:
import pandas as pd # 读取XML文件,定位根节点并仅提取其属性 df = pd.read_xml( "你的EPO专利XML文件路径", xpath="/exchange-document", attrs_only=True ) # 筛选需要的目标列 target_columns = [ 'Country', 'date-produced', 'date-of-exchange', 'dtd-version', 'file', 'no-of-document', 'originating-office', 'status' ] df = df[target_columns] # 查看结果 print(df.head())
关键参数说明
xpath="/exchange-document":精准定位到XML的根节点,确保读取的是根节点的属性集合attrs_only=True:告诉pandas只提取节点的属性,忽略节点内的子元素内容
内容的提问来源于stack exchange,提问作者Lusian
相关产品推荐
相关产品推荐

