Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-11-25 02:29:57

0001 import sys
0002 
0003 def compare(fn1, fn2):
0004     f1, f2 = open(fn1, "r"), open(fn2, "r")
0005     diff_cols = {}
0006 
0007     for l1, l2 in zip(f1.readlines(), f2.readlines()):
0008         if l1 == l2: continue
0009 
0010         for i, (k1, k2) in enumerate(zip(l1.strip().split(), l2.strip().split())):
0011             if k1 == k2: continue
0012 
0013             if i not in diff_cols:
0014                 diff_cols[i] = []
0015 
0016             diff = diff_cols[i]
0017 
0018             try:
0019                 diff_f = abs(float(k2) - float(k1))
0020                 diff.append((diff_f, k1, k2, "l1: " + l1, "l2: " + l2, ))
0021 
0022                 print("diffrence[f%d]: %s -> %s" % (i, k1, k2))
0023             except ValueError:
0024                 print("non float-type difference[f%d]: %s -> %s" % (i, k1, k2))
0025 
0026     for key, item in sorted(diff_cols.items()):
0027         print("column:", key)
0028         print("\tavg: %f" % (sum(map(lambda x: x[0], item)) / len(item)))
0029 
0030         m = max(item)
0031         print("\tmax:", m[:3])
0032         print("\t\t-:", m[3])
0033         print("\t\t+:", m[4])
0034         
0035     return diff_cols
0036 
0037 if __name__ == "__main__":
0038     if len(sys.argv) != 3:
0039         print("usage %s old.csv new.csv" % sys.argv[0])
0040         sys.exit(1)
0041 
0042     diff = compare(sys.argv[1], sys.argv[2])