gpt4 book ai didi

python - 仅在可用时从 XML 值中提取值

转载 作者:行者123 更新时间:2023-12-01 08:16:33 25 4
gpt4 key购买 nike

这里是新手,尝试从 XML 文件内的标签中提取值:docid、year、citedWork。然而,并非所有条目都包含引用的工作标签。

enter image description here

目前,我收到:

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

对于这些情况,如果您预计“citedWork”可能不存在,您可以在尝试访问之前检查 find 的返回值是否不是 None它的任何属性。

cit_work_elem = element.find('citedWork')
if cit_work_elem:
cit_work = cit_work_elem.text

关于python - 仅在可用时从 XML 值中提取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54955849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com