Python: convierte la fecha de serie de Excel en fecha y hora

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *