ich versuche aus einer Excel-Zelle, die in Excel als Text formatiert ist und eine Jahreszahl beinhaltet (2015), den Wert und Typ auzulesen.
Dafür verwende ich folgendes Skript:
Code: Alles auswählen
sFile = r"hierderpfad"
xlvalue = xlrd.open_workbook(sFile)
sWerte_name = xlvalue.sheet_names()[0]
werte_sheet = xlvalue.sheet_by_name(sWerte_name)
particular_cell_value = werte_sheet.cell(3,11).value
print "Name: %s \n" % (sFile)
print particular_cell_value
print "\n"
print "Typ: %s" % (type(particular_cell_value))
Code: Alles auswählen
>>>
Name: hierdername
2015.0
Typ: <type 'float'>
Wieso bekomme ich den Type "float" ausgegeben wenn die Zelle jedoch in Excel als Text formatiert ist? Eigentlich sollte auch 2015 und nicht 2015,0 ausgegeben werden...
Anmerkung: Schreibe ich in Excel ein Hochkomma vor der Zahl (also '2015 ) bekomme ich so ein grünes Hinweissymbol ("als Text gespeicherte Zahl", mit der Anmerkung ob ich dies nicht in eine Zahl umwandeln möchte) in Excel und dann bekomme ich auch wie gewünscht "2015" und als type "unicode" ausgegeben. Wie schaffe ich es, dass ich jedoch ohne dieses Hochkomma sofort den richtigen Typ erhalte?
Vielen Dank.