新手在这里,试图从XML文件中的标签中提取值:docid,year,referencedWork。但是,并非所有条目都包含引用的工作标记。
目前,我收到了:
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 = +1
doc_id= element.find('docid').text
list_nodes.append(doc_id)
year= element.find('year').text
list_nodes.append(year)
cit_title= element.find('citedTitle').text
list_nodes.append(cit_title)
cit_work= element.find('citedWork').text
list_nodes.append(cit_work)
CSV_writer.writerow(list_nodes)
xml_csv.close()
cit_work= element.find('citedWork').tag
cit_work= element.find('citedWork').text
对于这些情况,如果您预计'referencedWork'可能不存在,您可以在尝试访问其任何属性之前检查find
的返回值是否不是None
。
cit_work_elem = element.find('citedWork')
if cit_work_elem:
cit_work = cit_work_elem.text