这里的新手,试图从 XML 文件中的标签中提取值:docid、year、citedWork。但是,并非所有条目都包含引用工作标记。目前,我收到了:AttributeError: 'NoneType' 对象没有属性 'text'关于如何将此条件合并到脚本中的任何建议?谢谢!for element in root.findall(".//return/references"):list_nodes=[]if count == 0: doc_id= element.find('docid').tag result.append(doc_id) year= element.find('year').tag result.append(year) cit_title= element.find('citedTitle').tag result.append(cit_title) cit_work= element.find('citedWork').tag result.append(cit_work) CSV_writer.writerow(result) count = +1doc_id= element.find('docid').textlist_nodes.append(doc_id)year= element.find('year').textlist_nodes.append(year)cit_title= element.find('citedTitle').textlist_nodes.append(cit_title)cit_work= element.find('citedWork').textlist_nodes.append(cit_work) CSV_writer.writerow(list_nodes)xml_csv.close()
2 回答
慕码人8056858
TA贡献1803条经验 获得超6个赞
cit_work= element.find('citedWork').tag
cit_work= element.find('citedWork').text
对于这些情况,如果您预计 'citedWork' 可能不存在,您可以在尝试访问其任何属性之前检查其返回值find是否不存在None。
cit_work_elem = element.find('citedWork')
if cit_work_elem:
cit_work = cit_work_elem.text
素胚勾勒不出你
TA贡献1827条经验 获得超9个赞
试试下面的代码,
cit_work= element.find('citedWork').text
except:
cit_work= None
如果它不在 xml 文件中,它将是 None。尝试这个!
添加回答
举报
0/150
提交
取消