Mám datový soubor, který vypadá jako následující:
Date item purchased
01-12-2018 Car
02-12-2018 Truck
03-12-2018 Car
04-12-2018 Bike
Jako součást čištění dat procesu, musím si ověřit, že data jsou v chronologickém pořadí. Tak jsem třeba zkontrolovat, že data v řadě se po dni v předchozí řadě. Pokud ne, potřebuji odstranit tento řádek. Jsem poučen, že nebude používat pandy knihovna.
Tak daleko, udělal jsem následující kroky tak daleko:
#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, když se snažím porovnat datetime objekty je :
TypeError: unsupported operand type(s) for -: 'str' and 'datetime.datetime'
Problém je, když jsem zkontrolovat typ sloupce datum, to vyjde na datetime.datetime ale jakmile jsem se pokusit porovnat oba datetime.datetime objekty, to mi říká, že jedním z nich je řetězec a jeden je datetime.datetime objekt. Zmatek je, pokud se obě hodnoty jsou čteny ze stejného sloupce, Jak člověk vychází jako řetězec a jeden je datetime.datetime.
Jak se mohu ujistit, hodnoty zůstávají jako datetime.datetime a můžu porovnat.
Díky