import sys inp = open(sys.argv[1], 'r') out = open(sys.argv[2], 'w') def getentry(): line = inp.readline() while line.startswith('#'): line = inp.readline() for i in range(len(line)): if line[i] in [' ', '\t']: break else: raise Exception return float(line[:i]), float(line[i:]) def writeentry(x, y): out.write("%f\t%f\n" % (x, y)) lastx, lasty = getentry() integral = 0 writeentry(lastx, integral) while True: try: x, y = getentry() except Exception: break if x < lastx: print "Wrong order: %f %f" % (lastx, x) integral += 0.5 * (x - lastx) * (lasty + y) writeentry(x, integral) lastx = x lasty = y