Ich habe es versucht. Es geht etwas über die Frage hinaus: Sie erhalten eine Eingabe. Es wird zuerst in einen String konvertiert (wenn es sich um eine Liste handelt, z. B. aus Beautiful Suppe). dann zu int, dann zu schweben.
Es geht so weit es geht. Im schlimmsten Fall wird alles, was nicht konvertiert wurde, als Zeichenfolge zurückgegeben.
def to_normal(soupCell):
''' converts a html cell from beautiful soup to text, then to int, then to float: as far as it gets.
US thousands separators are taken into account.
needs import locale'''
locale.setlocale( locale.LC_ALL, 'english_USA' )
output = unicode(soupCell.findAll(text=True)[0].string)
try:
return locale.atoi(output)
except ValueError:
try: return locale.atof(output)
except ValueError:
return output
'C'würde dies immer noch einValueError! Geben .).