AttributeError: 'str' object has no attribute 'contains'

AttributeError: 'str' object has no attribute 'contains'

for i in range(0,len(final3)):
    default=final3["DefaultValue"].iloc[i]
    if (not(default.contains("|"))):
        if(final3["DefaultValue"].iloc[i] in final3["CodedData"].iloc[i]):
            final3["Condition"].iloc[i]="False"
        else:
            final3["Condition"].iloc[i]="True" 

"DefaultValue" 列包含类似“1|2|3”的值。因此,我尝试使用定界符拆分字符串并检查它是否存在于同一行的 "CodedData" 列中。 "CodedData" 包含类似“3|4”的值,但我遇到了属性错误。

错误消息表明您正在尝试对不是字符串函数的字符串使用 .contains()

尝试:

for i in range(0,len(final3)):
    default = final3["DefaultValue"].iloc[i]
    if not "|" in default:
        if default in final3["CodedData"].iloc[i]:
            final3["Condition"].iloc[i] = "False"
        else:
            final3["Condition"].iloc[i] = "True"

在python个字符串中,没有方法包含。相反 python 有一个简单的语法。您可以使用以下内容代替 default.contains("|")

"|" in default
#or
"|" not in default