Spaces:
Runtime error
Runtime error
import os | |
from datatypes.datatypes import DetectionLabels, TableRecognitionOrdered | |
class TablePreprocessor(): | |
def __init__(self): | |
pass | |
def table_structure_sorting(self, table_data): | |
for table in table_data.tables: | |
recognized_row = [] | |
recognized_column = [] | |
recognized_ord_obj = TableRecognitionOrdered([]) | |
# print(table.recognitiondata[0]) | |
for score, label, box in zip(table.recognitiondata[0].scores, table.recognitiondata[0].labels, table.recognitiondata[0].boxes): | |
# print(score, label, box) | |
newbox = [] | |
if label == DetectionLabels.table_row.value: | |
newbox = box | |
newbox.append(label) | |
newbox.append(score) | |
recognized_row.append(newbox) | |
if label == DetectionLabels.table_column.value: | |
newbox = box | |
newbox.append(label) | |
newbox.append(score) | |
recognized_column.append(newbox) | |
recognized_row.sort(key=lambda x:x[1]) | |
recognized_column.sort(key=lambda x:x[0]) | |
recognized_ord_obj.recognized_row = recognized_row | |
recognized_ord_obj.recognized_column = recognized_column | |
table.ordered_recognitiondata.append(recognized_ord_obj) | |
return table_data |