Cómo realizar la limpieza de datos en un archivo de texto?
Tengo un archivo de texto con muchas líneas, que incluyen palabras y números, aquí hay un ejemplo:
2021-12-06 05:07:09.266 INFO: ID adicional 1638301749791
2021-12-06 05:07:09.266 INFO: Encontrado
2021-12-06 05:07:09.267 INFO: ObjectStatus-ok factor 1163 factor cinco y seis calculado como antes mejor peso ID 1638301749796
2021-12-06 05:07:09.267 INFO: deshabilitado; computando el factor de peso de potencia del factor 19025.
2021-12-06 05:07:10.041 INFO: Escribió un gran factor 0.3568357342, Classificationfactortype-fail
2021-12-06 05:07:10.042 DEBUG: Duiu.0.0.2588650814
2021-12-06 05:07:10.743 INFO: Escribió .3254806495
Mi pregunta es ¿cómo puedo mantener las líneas que tienen las palabras “Classificationfactortype-fail” y “ObjectStatus-ok”, y eliminar todas las demás líneas? Me gustaría guardar el nuevo archivo de texto en el directorio.
Aquí está el código que escribí:
ans = []
with open('test.txt') as rf:
for line in rf:
line = line.strip()
if "Classificationfactortype-fail" in line or "ObjectStatus-ok" in line:
ans.append(line)
with open('extracted_data.txt', 'w') as wf:
for line in ans:
wf.write(line)
davy.ai
Para mantener solo las líneas que contienen las palabras “Classificationfactortype-fail” y “ObjectStatus-ok” y eliminar todas las demás líneas, puedes utilizar el siguiente código en Python:
Este código abre el archivo de entrada (‘input.txt’) y lo lee línea por línea. Si una línea contiene alguna de las palabras “Classificationfactortype-fail” o “ObjectStatus-ok”, la escribe en un nuevo archivo (‘output.txt’). De esta manera, el nuevo archivo solo contendrá las líneas deseadas.
Ten en cuenta que puedes cambiar los nombres de los archivos de entrada y salida para que coincidan con tu caso específico.