import string
import locale

import io

def check_experimental_data(datafile):

        error = []
      #  inputfile = open(datafile,'r').readlines()
      #  inputfile = open(datafile,'r').readlines()
        with io.open(datafile, 'r', encoding='UTF-8') as my_file:
            inputfile = my_file.readlines()

        inputfile=[x.replace("\r","\n") for x in inputfile]
        inputfile=[x.replace("^M","\n") for x in inputfile]
    #data_file=[x.replace(",","\t") for x in data_file]
        inputfile=[x.replace(","," ") for x in inputfile]

        number_of_lines = len(inputfile)
        print 'number of lines = ', number_of_lines

#        for line in inputfile:
#            print line

        z_values = []

        for i in xrange(number_of_lines):
                lin = string.split(inputfile[i])
                if(len(lin)>0):
                        if(lin[0][0] != "#"):
                                try:
                                    this_value = locale.atof(lin[0])
                                    if(i == 0):
                                            z_values.append(this_value)
                                    elif(this_value in z_values):
                                            message = 'repeated z-value in experimental data: '+str(this_value)+'\n'
                                            error.append(message)
                                    else:
                                            z_values.append(this_value)
                                except:
                                    pass

        return error,z_values

error, z_values = check_experimental_data('test.dat')
#error, z_values = check_experimental_data('new_test.dat')


print 'error = ', error
print 'z_values = ', z_values
