Mám súbor údajov, ktoré vyzerá takto:
Date item purchased
01-12-2018 Car
02-12-2018 Truck
03-12-2018 Car
04-12-2018 Bike
Ako súčasť údaje čistiaci proces, potrebujem zistiť, že údaje v chronologickom poradí. Tak som musieť skontrolovať, že dátum v rade je po dátume v predchádzajúcom riadku. Ak nie, musím odstrániť riadok. Ja som pokyn, aby sa nesmie používať pandy knižnice.
Zatiaľ, čo som urobil nasledujúce kroky tak ďaleko:
#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)
Chyba je dostať keď som skúsiť porovnať datetime objektov je :
TypeError: unsupported operand type(s) for -: 'str' and 'datetime.datetime'
Problém je, keď som skontrolovať typ dátum stĺpec, ide von byť datetime.datetime ale hneď, ako som sa skúsiť porovnať obe datetime.datetime objektov, to mi hovorí, že jeden je reťazec a jeden je datetime.datetime objektu. Zmätok je, ak obe hodnoty sú čítanie z toho istého stĺpca, Ako človek prichádza na to, ako reťazec a jeden je datetime.datetime.
Ako môžem uistite sa, že hodnoty zostávajú, ako datetime.datetime a môžem porovnávať ich.
Vďaka