Eu tenho um arquivo de dados que se parece com o seguinte:
Date item purchased
01-12-2018 Car
02-12-2018 Truck
03-12-2018 Car
04-12-2018 Bike
Como parte do processo de limpeza de dados, eu preciso verificar se os dados em ordem cronológica. Então eu preciso verificar que a data em uma linha é após a data na linha anterior. Se não, eu preciso excluir essa linha. Eu sou instruído a não utilizar os pandas biblioteca.
Até agora, eu fiz os seguintes passos até agora:
#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)
O erro é quando tenta comparar o datetime objetos é :
TypeError: unsupported operand type(s) for -: 'str' and 'datetime.datetime'
O problema é quando eu verificar o tipo de coluna "data", que vem a ser datetime.datetime, mas assim que eu tente comparar os datetime.datetime objetos, ele me diz que é uma seqüência de caracteres e um é datetime.objeto datetime. A confusão é se ambos os valores são lidos a partir mesma coluna, Como um está saindo como cadeia e é datetime.data / hora.
Como posso ter certeza de que os valores de permanecer como datetime.data / hora e que eu possa compará-los.
Obrigado