Tengo un archivo de datos que se parece a la siguiente:
Date item purchased
01-12-2018 Car
02-12-2018 Truck
03-12-2018 Car
04-12-2018 Bike
Como parte de los datos de proceso de limpieza, necesito comprobar que los datos están en orden cronológico. Así que tengo que comprobar que la fecha en una fila después de la fecha en la fila anterior. Si no, tengo que eliminar esa fila. Estoy enseñado a no utilizar los pandas de la biblioteca.
Hasta ahora, he hecho los pasos siguientes hasta el momento:
#If the file name is - 'Input_file'
from openpyxl import load_workbook
from datetime import datetime
#Reading the file
wb = load_workbook(Input_file)
sheet = wb.active
#Reading the Date column in the file
Date_column = sheet['A']
#Reading each row and the date in each row to compare it with the previous row date
for x in range(len(Date_column)):
Datenow = Date_column[x].value
Datebef= Date_column[x-1].value
Check = Datenow > Datebef
print(Check)
El error se obtiene cuando trato de comparar los objetos datetime es :
TypeError: unsupported operand type(s) for -: 'str' and 'datetime.datetime'
El problema es cuando puedo comprobar el tipo de la columna de la fecha, que viene a ser datetime.datetime, pero tan pronto como tratar de comparar el datetime.objetos datetime, me dice que uno es de cadena y uno es de tipo datetime.objeto datetime. La confusión es tanto si los valores se leen de la misma columna, Cómo se está saliendo como una cadena y uno es de tipo datetime.datetime.
Cómo puedo asegurarme de que los valores se mantengan como datetime.datetime y puedo comparar.
Gracias