【发布时间】:2021-06-29 11:24:05
【问题描述】:
我正在尝试遍历字符串(别名)循环以应用 unidecode,并避免在某些情况下没有别名单词的错误,我正在使用 if/else 检查是否存在一个字符串与否,所以我可以应用 unidecode。 我尝试通过执行此代码检查单词的长度,但它一直说“列表”对象没有属性“元素”。我不知道该怎么办。
alias=record.findall("./person/names/aliases/alias")
alias_name=[element.text for element in alias]
if len(alias_name.element.text)!=0:
alias_names_str = ','.join(alias_name)
alias_names_str=unidecode.unidecode(alias_names_str)
else:
alias_name.element.text="NONE"
【问题讨论】:
-
您提供的代码不完整。
record是什么? -
对不起,这是一个 xml 文档的路径: import unidecode records= tree.xpath("/records/record") for record in records: alias=record.findall("./person/names /aliases/alias") alias_name=[element.text for element in alias] if len(alias_name.element.text)!=0: alias_names_str = ','.join(alias_name) alias_names_str=unidecode.unidecode(alias_names_str) else: alias_name.element.text="NONE"