from datetime import datetime, timedelta

def from_excel_ordinal(ordinal, epoch=datetime(1900, 1, 1)):
    if ordinal > 59:
        ordinal -= 1
inDays = int(ordinal)
frac = ordinal - inDays
inSecs = int(round(frac * 86400.0))
return epoch + timedelta(days=inDays - 1, seconds=inSecs)
excelDT = 42548.75001
pyDT = from_excel_ordinal(excelDT)
How to convert a given ordinal number (from Excel) to a date