def __str__(self):
        data = self.asTable()
        title = "Summary of %s"%self.name
        
        #title_length = len(title)
        key_length = 0
        value_length = 0
        
        formatted_data = []

        for key,value in data:
            key_length = max(key_length,len(key))
            
            if isinstance(value,int):
                value = "%d      "%value
            elif isinstance(value,str):
                value = "%s      "%value
            elif isinstance(value,float):
                if value < 0.0001 and value > 0.0:
                    value = "< 0.00001"
                else:
                    value = "%0.5f"%value
            else:
                raise TypeError("Only int, float, and str supported")
            
            value_length = max(value_length,len(value))
            formatted_data.append([key,value])
            
        row_format = "| %%-%ds | %%%ds |"%(key_length,value_length)
        row_length = 7+key_length+value_length

        rows = []

        rows.append(title)
        rows.append('-'*row_length)
        for key,value in formatted_data:
            rows.append((key,value)%row_format)
        rows.append('-'*row_length)
        
        result = ""
        for each in rows:
            result += each
            result += '\n'
                        
        return result
dataset/ETHPy150Open bolme/pyvision/src/pyvision/analysis/stats.py/SummaryStats.__str__/swapped operands of `%`