AttributeError: у объекта 'str' нет атрибута 'содержит' - PullRequest
0 голосов
/ 13 апреля 2020
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», но я сталкиваюсь с ошибкой атрибута.

Ответы [ 2 ]

0 голосов
/ 13 апреля 2020

В python строках метод не содержится. Вместо этого python имеет простой синтаксис для этого. Вы можете использовать следующее вместо default.contains("|")

"|" in default
#or
"|" not in default
0 голосов
/ 13 апреля 2020

В сообщении об ошибке указывается, что вы пытаетесь использовать .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"
...