datainput=open('DataInput.txt', 'r')
Validateddata=open('ValidData.txt', 'w')
Incorrectdata=open('DataErrorFile.txt', 'w')
print("This program’s purpose is to sift through the raw data file and find the data that is valid/invalid in that file '\n'")
countervalid = 0
counterinvalid = 0
correctstates=['ID', 'MT', 'MO', 'WA']
random = 0
recordcounter = 0
Validateddata.write("Data List \n")
for line in datainput:
recordcounter = recordcounter + 1
stringrecord=str(recordcounter)
line=line.strip()
datalist=line.split()
states= datalist[0]
citys=datalist[1]
TEMP=datalist[2]
CODEREGION=datalist[3]
recording=datalist[4]
recordings = int(datalist[4])
if states in correctstates:
countervalid = countervalid + 1
else:
counterinvalid = counterinvalid + 1
print("STATE")
Incorrectdata.write("Error Detected: ")
Incorrectdata.write(states)
Incorrectdata.write("Record")
Incorrectdata.write(stringrecord)
Incorrectdata.write("\n")
try:
float(TEMP)
countervalid = countervalid + 1
except ValueError:
print("TEMP")
counterinvalid = counterinvalid + 1
stringTEMP = str(TEMP)
Incorrectdata.write("Error Detected: ")
Incorrectdata.write(stringTEMP)
Incorrectdata.write("Record")
Incorrectdata.write(stringrecord)
Incorrectdata.write("\n")
try:
int(TEMP)
print("TEMP")
counterinvalid=counterinvalid + 1
stringTEMP = str(TEMP)
Incorrectdata.write("Error Detected: ")
Incorrectdata.write(stringTEMP)
Incorrectdata.write("Record")
Incorrectdata.write(stringrecord)
Incorrectdata.write("\n")
except ValueError:
y = random
try:
float(TEMP)
countervalid = countervalid + 1
except ValueError:
print("TEMP")
counterinvalid = counterinvalid + 1
stringTEMP = str(TEMP)
Incorrectdata.write("Error Detected: ")
Incorrectdata.write(stringTEMP)
Incorrectdata.write("Record")
Incorrectdata.write(stringrecord)
Incorrectdata.write("\n")
if len(CODEREGION) == 4:
countervalid = countervalid + 1
stringcode = CODEREGION
else:
counterinvalid = counterinvalid + 1
print( "REGION")
Incorrectdata.write("Error Detected: ")
Incorrectdata.write(CODEREGION)
Incorrectdata.write("Record")
Incorrectdata.write(stringrecord)
Incorrectdata.write("\n")
if (stringcode[1].isdigit()):
countervalid=countervalid + 1
else:
print("REGION")
counterinvalid = counterinvalid + 1
Incorrectdata.write(CODEREGION)
Incorrectdata.write("Record")
Incorrectdata.write(stringrecord)
Incorrectdata.write("\n")
if (stringcode[0].isalpha()):
countervalid = countervalid + 1
else:
print("REGION")
counterinvalid = counterinvalid + 1
Incorrectdata.write(CODEREGION)
Incorrectdata.write("Record")
Incorrectdata.write(stringrecord)
Incorrectdata.write("\n")
if (stringcode[3].isdigit()):
countervalid = countervalid + 1
else:
print("REGION")
counterinvalid = counterinvalid + 1
Incorrectdata.write("Error Detected: ")
Incorrectdata.write(CODEREGION)
Incorrectdata.write("Record")
Incorrectdata.write(stringrecord)
Incorrectdata.write("\n")
if (stringcode[2].isdigit()):
countervalid = countervalid + 1
else:
print("REGION")
counterinvalid = counterinvalid + 1
Incorrectdata.write(CODEREGION)
Incorrectdata.write("Record")
Incorrectdata.write(stringrecord)
Incorrectdata.write("\n")
if recordings > 0:
countervalid = countervalid + 1
else:
counterinvalid = counterinvalid + 1
print ("RECORDING")
strrecording = str(recordings)
Incorrectdata.write("Error Detected: ")
Incorrectdata.write(strrecording)
Incorrectdata.write("Record")
Incorrectdata.write(stringrecord)
Incorrectdata.write("\n")
if states in correctstates:
if recordings > 0:
if(stringcode[0].isalpha()):
if (stringcode[1].isdigit()):
if (stringcode[2].isdigit()):
if (stringcode[3].isdigit()):
if (TEMP[3].isdigit()):
Validateddata.write(states)
Validateddata.write(" ")
Validateddata.write(citys)
Validateddata.write(" ")
Validateddata.write(TEMP)
Validateddata.write(" ")
Validateddata.write(CODEREGION)
Validateddata.write(" ")
strrecording = str(recordings)
Validateddata.write(strrecording)
Validateddata.write("\n")
print("Records")
openrecords = open('datainput.txt', 'r')
for line in openrecords:
print(line)
print(" Data Record Validations and Errors \n")
print("Correct Data Variables=", countervalid)
print("Incorrect Data Variables=", counterinvalid, "\n")
print("Navigate to the Correct File and Incorrect Data Files for more information.")
Validateddata.close()
Incorrectdata.close()
datainput.close()
I have this in a folder with all the .txt files I am trying to run but I get this error message:
Error:
Traceback (most recent call last):
File "C:\Users\Master Race\Desktop\Program 1.EvanWinder\Evan Program 1.py", line 31, in <module>
if states in correctstates:
NameError: name 'states' is not defined
can anyone help?