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])