Este artículo discutirá la conversión de una fecha de serie de Excel a DateTime en Python.
El formato de «fecha de serie» de Excel es en realidad el número de días desde 1900-01-00, es decir, el 1 de enero de 1900. Por ejemplo, el número de fecha de serie de Excel 43831 representa el 1 de enero de 2020, y después de convertir 43831 a DateTime se convierte en 2020 -01-01.
Al usar la función xlrd.xldate_as_datetime() esto se puede lograr. La función xlrd.xldate_as_datetime() se utiliza para convertir el número de fecha/hora de Excel en un objeto datetime.datetime.
Sintaxis: xldate_as_datetime (xldate, modo de fecha)
Parámetros: Esta función acepta dos parámetros que se ilustran a continuación:
- xldate: esta es la fecha de Excel especificada que se convertirá en fecha y hora.
- datemode: este es el modo de fecha especificado en el que se realizará la conversión.
Valores devueltos: esta función devuelve el objeto datetime.datetime.
Primero, llame a la función xlrd.xldate_as_datetime(date, 0) para convertir la fecha de Excel especificada en un objeto datetime.datetime. Luego, llame a la función datetime.datetime.date() en el objeto devuelto datetime.datetime para devolver la fecha como un objeto datetime.date. Por último, llame a la función datetime.date.isoformat() para convertir el objeto datetime.date devuelto en una string de fecha en formato ISO.
Veamos algunos ejemplos para ilustrar el algoritmo anterior:
Ejemplo: programa de Python para convertir la fecha de serie de Excel en una fecha de string
Python3
# Python3 code to illustrate the conversion # of excel serial date to datetime # Importing xlrd module import xlrd # Initializing an excel serial date xl_date = 43831 # Calling the xldate_as_datetime() function to # convert the specified excel serial date into # datetime.datetime object datetime_date = xlrd.xldate_as_datetime(xl_date, 0) # Calling the datetime_date.date() function to convert # the above returned datetime.datetime object into # datetime.date object date_object = datetime_date.date() # Calling the isoformat() function to convert the # above returned datetime.date object into the # ISO format date string string_date = date_object.isoformat() # Getting the converted date string as output print(string_date) # Getting the type of returned date format print(type(string_date))
Producción:
2020-01-01 <class 'str'>
Ejemplo 2: programa de Python para convertir el número de serie de Excel a DateTime
Python3
# Python3 code to illustrate the conversion # of excel serial date to datetime # Importing xlrd module import xlrd # Initializing an excel serial date xl_date = 43831 # Calling the xldate_as_datetime() function to # convert the specified excel serial date into # datetime.datetime object datetime_date = xlrd.xldate_as_datetime(xl_date, 0) # Calling the datetime_date.date() function to convert # the above returned datetime.datetime object into # datetime.date object date_object = datetime_date.date() # Getting the converted date date as output print(date_object) # Getting the type of returned date format print(type(date_object))
Producción:
2020-01-01 <class 'datetime.date'>
Publicación traducida automáticamente
Artículo escrito por Kanchan_Ray y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA