Мне нравится ответ BFREE, хотя я волновался бы о риске, что мой код закончит тем, что обновил клонированную таблицу, а не реальную. (Я не продумал его достаточно, чтобы знать, является ли это на самом деле проблемой, если Вы только используете дополнительный метод в DataView
.)
можно сделать это на оригинале DataTable
путем добавления расчетного DataColumn
к нему (использование Expression
свойство) и затем сортировка на ее значении.
В Вашем случае это было бы что-то как:
DataColumn c = myTable.Columns.Add("Sort", typeof(int));
c.Expression = "iif(field='SomeValue', 0, iif(field='AnotherValue', 1, 2))";
, который виды SomeValue
первый, 116-секундный, и все остальное после этого.
Вы можете использовать difflib.SequenceMatcher ratio метод
Из документации:
Вернуть меру сходство последовательностей как поплавок в диапазон [0, 1].
Например:
from difflib import SequenceMatcher
text1 = open(file1).read()
text2 = open(file2).read()
m = SequenceMatcher(None, text1, text2)
m.ratio()
Похоже, в Linux есть утилита под названием dwdiff, которая может отображать процентные различия с помощью флага «-s»