¿Cómo se reemplazan los períodos individuales / paradas completas sin reemplazar los puntos decimales?


1

Un poco incómodo, esto; He estado recopilando datos usando un rastreador ocular, que da su salida como archivos .txt (Excel también es una opción, pero hay demasiadas muestras, por lo que es un bloc de notas). Necesito que todas las muestras se muestren como números. Cada 'muestra' es una medida del tamaño de la pupila, tomada una cada dos milisegundos. En las ocasiones no infrecuentes en que la máquina pierde el rastro del ojo de alguien por un segundo o dos, de repente tengo algunos períodos de búsqueda en lugar de números.

P.ej:

Sub5    91.00   3300039.00  3287753

Sub5    94.00   3300041.00  3287753

Sub5    97.00   3300043.00  3287753

Sub5    97.00   3300045.00  3287753

Sub5    97.00   3300047.00  3287753

Sub5    .   3300049.00  3287753

Sub5    .   3300051.00  3287753

Sub5    .   3300053.00  3287753

Sub5    .   3300055.00  3287753

Sub5    .   3300057.00  3287753

Sub5    .   3300059.00  3287753

Los espacios a cada lado de cada período suelto son espacios de botones 'Tabulador', que parece que no puede indicar en una búsqueda de búsqueda y reemplazo, ya que el botón 'Tabulador' se desplaza al siguiente elemento en el menú F + R. Esto ocurre de manera irregular y hay miles de filas, por lo que pasar manualmente podría llevar horas, pero Buscar y reemplazar también convierte los puntos decimales si lo uso y deja sin sentido otras columnas de datos en mi salida. ¿Hay una manera rápida de convertir todos los períodos aislados en ceros sin alterar los decimales? Estoy usando notepad ++ en este momento, pero estoy feliz de obtener un software más avanzado si es necesario. ¡Todas las sugerencias son apreciadas ya que la alternativa son horas de rastreo por las columnas!


He tomado mi respuesta porque no es apropiado para este caso
CLockeWork

¿0.0 es un punto de datos válido en datos normales? ¿Es apropiado para su uso establecer todos los "sin valores" en 0?
horatio

Buen punto; debería funcionar bien en MatLab, que se está utilizando para procesar el archivo después de que esta operación lo haga adecuado. Sin embargo, en realidad lo estoy reenviando para eso, así que consultaré con el tipo al que lo estoy enviando y veré si funciona. Dado que en este caso el "0" indica un punto de datos que en realidad no se pudo recopilar, no creo que deba importar ... ¡eso sí que es bueno!
Phil

Respuestas:


1

Mis 2 centavos en una pregunta vieja y ya respondida, pero veo respuestas "use regexp" y hay una manera más simple:

Los espacios de "Tabulación" se pueden copiar :)

así que: seleccione una "pestaña", Ctrl + H, péguelo en el cuadro "buscar", agregue su punto y pegue otra pestaña después. Reemplazar cuadro: pegar pestaña, agregar "0.0" pegar pestaña. -> Reemplazar todo!

Lo tengo: simplemente reemplaza todo el " tab.tab" por " tab0.0tab" que también debe mantener la alineación de las columnas.

Perdón por desenterrar un tema de 18 meses :)


0

La clave aquí es identificar, incluyendo cualquier espacio en blanco, la característica común más pequeña que tienen todas las "agujas" que las hacen diferentes de todas las otras partes del "pajar".

No hay forma de responderle adecuadamente sin ver los datos. "Números" parece una forma directa de decir lo que es, pero supongo que quiere decir números de "decimales / coma flotante", etc. ¿Hay "algo" entre los puntos de datos (por ejemplo, cualquier tipo de espacio en blanco o delimitador)?

Si hay una pestaña antes de cada columna, puede reemplazar todas \t.con \t0.0etc.

Si no hay espacios en blanco, puede reemplazar todo .. (2 veces) con `` (nada). Haga esto tantas veces como sea necesario hasta que obtenga "0 reemplazos".

No hace falta decir que haces esto en una copia de seguridad de los datos.


Respondió antes de las aclaraciones ... En notepad ++, use la opción "modo de búsqueda extendida" para obtener acceso \t.
horatio

Bien, lo intentaré. Lo siento, me tomé un tiempo para volverme coherente en la pregunta.
Phil

La solución fue utilizar Buscar + Reemplazar con el modo de búsqueda extendida para reemplazar "\ t". con "\ t0 \ t". La omisión de la segunda pestaña en el cuadro Reemplazar hizo que la columna se combinara con la siguiente, lo cual era extraño, pero con la segunda funcionó perfectamente. ¡Gracias!
Phil

0

Si usa el teclado de texto, podría usar expresiones regulares:

algo como ([0-9]\.\.+[0-9])

Aunque ahora lo ha calificado, en realidad podría ser más fácil, si tiene pestañas en cada lado:

(\t\.\t)


regexp también es compatible con notepad ++ (con la opción adecuada seleccionada en el cuadro de diálogo de reemplazo).
horatio

Sí, aunque no sé la sintaxis de notepad ++ :)
NickW

por lo que yo sé, es "estándar", por lo que su respuesta probablemente se pueda usar tal como está
horatio

Sí, tiendo a errar por el lado de la precaución, y él dijo que estaba dispuesto a probar otro software.
NickW

Sí, el segundo funcionó bien. Perdón por ser lento en aclarar, ¡y gracias por la ayuda!
Phil
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.