Ich habe versucht, einige Daten aus einer Excel-Datei zu laden und überprüfen, ob einige Werte ganze Zahlen sind. Ich bin jedoch nicht erfolgreich und die IsInt
-Methode löst keine Ausnahmen aus. Warum?Ausnahme macht keine Ausnahme für DataFrame Python
In der Excel-Datei kann eine Ganzzahl auch als 5,00 gespeichert werden.
class Load;
def __init__(self, path="data.xls"):
self.data = pd.read_excel(path, header=1, sheetname=0)
self.diction = self.data.to_dict(orient='index')
def IsInt(self, i, j):
try:
num = int(self.data.iat[i,j])
except ValueError:
print('error')
load = Load()
load.IsInt(0, 0)
Warum nicht 'isinstance (self.data.iat [i, j], int)' 'verwenden? Wenn 'self.data.iat [i, j]' ist ein Doppel (zum Beispiel 3,14) wird es keine Ausnahme werfen und num wird 3. –
@ArthurGouveia, Es hilft nicht und es ist immer noch in der ersten Verzweigung und daher wird der Fehler nicht gedruckt. Zur Klarstellung: Ich habe eine Excel-Datei, wo auf einige Punkte SIND ganze Zahlen (Anzahl von einigen Entitäten) und wenn die Eingabe falsch ist, möchte ich eine Fehlermeldung schreiben. – albert
Jeder float kann in einen int konvertiert werden, ohne einen Fehler auszulösen. –