Kevin Meza Landeros

Update filtering.py

...@@ -8,9 +8,10 @@ __author__ = 'kevinml' ...@@ -8,9 +8,10 @@ __author__ = 'kevinml'
8 8
9 # Objective 9 # Objective
10 # Take two column files and make 3 different files: 10 # Take two column files and make 3 different files:
11 -# 1.- <FileName>_1Word_NoGreek.txt - Archivo donde la primer columna es unipalabra y SOLO contiene numeros alfanumericos. 11 +# 1.- OneWord_Alphanum.txt - Archivo donde la primer columna es unipalabra y SOLO contiene numeros alfanumericos.
12 -# 2.- <FileName>_Words_NoGreek.tx - Archivo donde la primer columna es multipalabra y SOLO contiene numeros alfanumericos. 12 +# 2.- MultWord_Alphanum.txt - Archivo donde la primer columna es multipalabra y SOLO contiene caracteres alfanumericos.
13 -# 3.- <FileName>_1Word_Greek.txt - Archivo donde la primer columna es unipalabra y contiene caracteres NO alfanumericos. 13 +# 3.- OneWord_NOAlphanum.txt - Archivo donde la primer columna es unipalabra y contiene caracteres NO alfanumericos.
14 +# 4.- MultWord_NOAlphanum.txt - Archivo donde la primer columna es multipalabra y SOLO contiene caracteres alfanumericos.
14 # 15 #
15 # Input parameters 16 # Input parameters
16 # --inputPath=PATH Path of inputfiles. 17 # --inputPath=PATH Path of inputfiles.
...@@ -63,7 +64,7 @@ if __name__ == '__main__': ...@@ -63,7 +64,7 @@ if __name__ == '__main__':
63 conditions = [] 64 conditions = []
64 lines = [] 65 lines = []
65 # Se abre el primer archivo 66 # Se abre el primer archivo
66 - with open (os.path.join(args.outputPath,str(args.iFile[:-4]) + "_1Word_NoGreek.txt"), "w+") as oFile: 67 + with open (os.path.join(args.outputPath,"OneWord_Alphanum.txt"), "w+") as oFile:
67 for index, row in file.iterrows(): 68 for index, row in file.iterrows():
68 if len(row[0].split(" ")) == 1 and alphanum_and_NOGreek(str(row[0].split(" ")[0])) == True: # Se verifica que en la primer columna solo haya un palabra y que esta solo tenga caracteres alfanumericos. 69 if len(row[0].split(" ")) == 1 and alphanum_and_NOGreek(str(row[0].split(" ")[0])) == True: # Se verifica que en la primer columna solo haya un palabra y que esta solo tenga caracteres alfanumericos.
69 conditions.append(row[0]) 70 conditions.append(row[0])
...@@ -72,20 +73,20 @@ if __name__ == '__main__': ...@@ -72,20 +73,20 @@ if __name__ == '__main__':
72 for i in range(len(lines)): 73 for i in range(len(lines)):
73 oFile.write(conditions[i] + "\t" + lines[i] + '\n') 74 oFile.write(conditions[i] + "\t" + lines[i] + '\n')
74 75
75 - print("\nArchivo de contenidos de una sola palabra ha sido generado. NOTA: Se han excluido letras griegas.\nNombre del archivo:" + str(args.iFile[:-4]) + "_1Word_NoGreek.txt\n") 76 + print("\nArchivo de contenidos de una sola palabra ha sido generado. NOTA: Se han excluido letras NO alfanumericas.\nNombre del archivo: OneWord_Alphanum.txt\n")
76 77
77 print("#######################\n# SEGUNDO ARCHIVO #\n#######################") 78 print("#######################\n# SEGUNDO ARCHIVO #\n#######################")
78 conditions_2 = [] 79 conditions_2 = []
79 lines_2 = [] 80 lines_2 = []
80 # Se abre el segundo archivo 81 # Se abre el segundo archivo
81 - with open (os.path.join(args.outputPath,str(args.iFile[:-4]) + "_Words_NoGreek.txt"), "w+") as oFile: 82 + with open (os.path.join(args.outputPath,"MultWord_Alphanum.txt"), "w+") as oFile:
82 for index, row in file.iterrows(): 83 for index, row in file.iterrows():
83 # La bandera en 1 indica que ninguna palabra de la primer columna tiene caracteres NO alfanumericos 84 # La bandera en 1 indica que ninguna palabra de la primer columna tiene caracteres NO alfanumericos
84 # La bandera en 0 indica que al menos una palabra tienes caracteres NO alfanumericos. 85 # La bandera en 0 indica que al menos una palabra tienes caracteres NO alfanumericos.
85 bandera = 1 86 bandera = 1
86 # Con el for se va a verificando la presencia de caracteres alfanumericos en cada palabra de la primera columna 87 # Con el for se va a verificando la presencia de caracteres alfanumericos en cada palabra de la primera columna
87 for i in range(0, len(row[0].split(" "))): 88 for i in range(0, len(row[0].split(" "))):
88 - if alphanum_and_NOGreek(str(row[0].split(" ")[i])) == False: 89 + if len(row[0].split(" ")) != 1 and alphanum_and_NOGreek(str(row[0].split(" ")[i])) == False:
89 bandera = 0 90 bandera = 0
90 if bandera == 1: 91 if bandera == 1:
91 conditions_2.append(row[0]) 92 conditions_2.append(row[0])
...@@ -94,13 +95,13 @@ if __name__ == '__main__': ...@@ -94,13 +95,13 @@ if __name__ == '__main__':
94 for i in range(len(lines_2)): 95 for i in range(len(lines_2)):
95 oFile.write(conditions_2[i] + "\t" + lines_2[i] + '\n') 96 oFile.write(conditions_2[i] + "\t" + lines_2[i] + '\n')
96 97
97 - print("\nArchivo de contenidos de varias palabras ha sido generado. NOTA: Se han excluido letras griegas.\nNombre del archivo:" + str(args.iFile[:-4]) + "SeveralWords_NoGreek_Filter\n") 98 + print("\nArchivo de contenidos de varias palabras ha sido generado. NOTA: Se han excluido letras NO alfanumericas.\nNombre del archivo: MultWord_Alphanum.txt")
98 99
99 print("######################\n# TERCER ARCHIVO #\n######################") 100 print("######################\n# TERCER ARCHIVO #\n######################")
100 conditions_3 = [] 101 conditions_3 = []
101 lines_3 = [] 102 lines_3 = []
102 # Se abre el tercer archivo 103 # Se abre el tercer archivo
103 - with open (os.path.join(args.outputPath,str(args.iFile[:-4]) + "_1Word_Greek.txt"), "w+") as oFile: 104 + with open (os.path.join(args.outputPath,"OneWord_NOAlphanum.txt"), "w+") as oFile:
104 for index, row in file.iterrows(): 105 for index, row in file.iterrows():
105 # Se verifica que la primer columna sea unipalabra. 106 # Se verifica que la primer columna sea unipalabra.
106 if len(row[0].split(" ")) == 1: 107 if len(row[0].split(" ")) == 1:
...@@ -110,4 +111,20 @@ if __name__ == '__main__': ...@@ -110,4 +111,20 @@ if __name__ == '__main__':
110 for i in range(len(lines_3)): 111 for i in range(len(lines_3)):
111 oFile.write(conditions_3[i] + "\t" + lines_3[i] + '\n') 112 oFile.write(conditions_3[i] + "\t" + lines_3[i] + '\n')
112 113
113 - print("\nArchivo de contenidos de una palabra ha sido generado:.nNombre del archivo:" + str(args.iFile[:-4]) + "SeveralWords_Greek_Filter\n")
...\ No newline at end of file ...\ No newline at end of file
114 + print("\nArchivo de contenidos de una palabra ha sido generado.\nNombre del archivo: OneWord_NOAlphanum.txt\n")
115 +
116 + print("#######################\n# CUARTO ARCHIVO #\n#######################")
117 + conditions_4 = []
118 + lines_4 = []
119 + # Se abre el cuarto archivo
120 + with open (os.path.join(args.outputPath,"MultWord_NOAlphanum.txt"), "w+") as oFile:
121 + for index, row in file.iterrows():
122 + # Se verifica que la primer columna sea multipalabra.
123 + if len(row[0].split(" ")) != 1:
124 + conditions_4.append(row[0])
125 + lines_4.append(row[1])
126 + # Se escriben en el primer archivo aquellos valores que cumplen las condiciones.
127 + for i in range(len(lines_4)):
128 + oFile.write(conditions_4[i] + "\t" + lines_4[i] + '\n')
129 +
130 + print("\nArchivo de contenidos de varias palabras ha sido generado.\nNombre del archivo: MultWord_NOAlphanum.txt")
...\ No newline at end of file ...\ No newline at end of file
......