[Tutor] Debugging a sort error.
mhysnm1964 at gmail.com
mhysnm1964 at gmail.com
Sat Jan 12 21:16:10 EST 2019
Hello everyone.
I am hoping someone can help with the below error using Python3.5 in the
Windows 10 bash environment. I found the below link which I am not sure if
this is related to the issue or not. As I don't fully understand the answer.
https://github.com/SethMMorton/natsort/issues/7
Issue, following error is generated after trying to sort a list of strings.
description.sort()
TypeError: unorderable types: float() < str()
Each list items (elements) contain a mixture of alpha chars, numbers,
punctuation chars like / and are in a string type. Below is an example
extract of the data from the list.
['Description', 'EFTPOS WOOLWORTHS 1294 ", "withdrawal Hudson
street 3219"]
There is over 2000 such entries. This used to work and now doesn't. Only
change to the code was modifying the data variable from a list to a
dictionary. Below is the full code:
import openpyxl
from openpyxl.utils import get_column_letter
from more_itertools import unique_everseen
# Loding the workbook and names for the sheets.
wb = openpyxl.load_workbook("test.xlsx")
wss = wb.get_sheet_names()
description = [] # all the descriptions
data = {}
for ws_name in wss:
ws = wb.get_sheet_by_name(ws_name)
for column in ws.columns:
col_data = [] # column list
for cell in column:
value = cell.value
col_data.append(value)
# end for cell loop
if ws_name == "WestPac":
if col_data[0] == 'Credit Amount':
num = 1
while num <=
(len(col_data) - 1):
value =
col_data[num]
if
value:
data['Amount'][num] = value
else:
data['Amount'][num] = data['Amount'][num] * -1
num +=
1
# end while num
break
# end if
# end if
if col_data[0] in data:
data[col_data[0]].extend(col_data[1:-1])
else:
data[col_data[0]] = col_data
# end for column
#end for ws_name
description = data['Description']
for i in description:
if not str(i):
print "not a string")
description.sort()
I am suspecting it is something to do with the data but cannot track down
the cause. Any suggestions on how to debug this?
Sean
More information about the Tutor
mailing list