AttributeError: 'float' objet n'a pas d'attribut "split"

Je suis à l'appel de cette ligne:

lang_modifiers = [keyw.strip() for keyw in row["language_modifiers"].split("|") if not isinstance(row["language_modifiers"], float)]

Cela semble fonctionner où row["language_modifiers"] est un mot (atlas method, central), mais pas quand il s'agit comme nan.

Je pensais que mon if not isinstance(row["language_modifiers"], float) pouvait rattraper le moment où les choses sont nan mais pas le cas.

De fond: row["language_modifiers"] est une cellule dans un fichier tsv, et qui se présente comme nan lorsque la cellule est vide dans le tsv être analysée.

Pourquoi downvoted? Juste pour que je le sais. Vous pouvez tester sur les 3 cas de test-je inclure dans la question.

OriginalL'auteur Dhruv Ghulati | 2017-02-14