Mam plik danych, który wygląda w następujący sposób:
Date item purchased
01-12-2018 Car
02-12-2018 Truck
03-12-2018 Car
04-12-2018 Bike
W ramach procesu czyszczenia danych muszę sprawdzić, że dane znajdują się w porządku chronologicznym. Więc muszę sprawdzić, czy data w wierszu warto po dniu, w poprzednim wierszu. Jeśli nie, muszę usunąć ten wiersz. Mi nie wolno korzystać z biblioteki pandy.
Do tej pory wykonywałem następujące kroki:
#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)
Błąd występuje, gdy próbuję porównać obiekty daty i czasu :
TypeError: unsupported operand type(s) for -: 'str' and 'datetime.datetime'
Problem w tym, że gdy sprawdzam typ kolumny chcesz, to okazuje się datetime.datetime, ale jak tylko próbuję porównać obie obiektu datetime.datetime, on mi mówi, że jeden z nich-ciąg znaków, drugi-obiekt datetime.datetime. Zamieszanie polega na tym, że jeśli obie wartości są odczytywane z jednego i tego samego kolumny, jedna z nich jest wyświetlany jako ciąg znaków, a inne-jak datetime.datetime.
Jak mogę upewnić się, że wartości pozostają w formacie datetime.datetime, i mogę je porównać.
Dziękuję