Pourquoi suis-je “AttributeError: 'module' objet n'a pas d'attribut "remplacer" à” sur la chaîne.replace()

La ligne d'origine de l'erreur est

totalR = totalR + (float(string.replace(contri[0][5],",","")) + float(string.replace(contri[0][6],",","")))

contri[0][5] et [6] sont des chaînes de caractères qui contiennent des nombres formatés que 1 000.00. Je suis à la suppression de la virgule avant que je lance les chaînes de caractères comme des flotteurs afin de les ajouter à totalR, qui est un float. (Créé comme totalR = 0.0) j'ai aussi essayé d'utiliser des Décimales, mais l'erreur qui s'y est passé aussi. J'ai fait "importer chaîne". Le programme échoue avec l'erreur:

File "mine.py", line 43, in fillDonorData
totalR = totalR + (float(string.replace(contri[0][5],",","")) + float(string.replace(contri[0][6],",","")))
AttributeError: 'module' object has no attribute 'replace'
J'ai utilisé "de 10 000' au lieu de 'contri[0][5]" et "communication[0][6]" dans votre code et tout fonctionne bien. Je suis sur Python 2.7. Si vous essayez ceci sur python 3, vous devriez lire ceci
Je suis en supposant que vous êtes sur Python 3.x? Si oui, vous devez inclure cette balise dans votre question. Aussi, vous devez coller l'ensemble de la traçabilité en amont, et pas seulement l'erreur elle-même.

OriginalL'auteur Jeff | 2013-12-24