¿Cómo poner todas las líneas que comienzan con una combinación de caracteres específica en la línea anterior en Excel o Notepad++?

¿Cómo poner todas las líneas que comienzan con una combinación de caracteres específica en la línea anterior en Excel o Notepad++?

Estoy intentando importar lo siguienteCSVconjunto de datos en Excel. Estoy usando el Asistente de importación de texto para configurar los delimitadores correctos. Hasta ahora, utilicé el ";" y "," delimitadores.

Aquí está elresultadohasta ahora. El conjunto de datos parece tener buen aspecto, hasta la fila 493. A partir de ese momento, los datos cambian del año 2014 al 2015. De alguna manera, el formato de los datos parece haber cambiado un poco a partir de ese momento, lo que da como resultado un archivo CSV. en el que las columnas ya no están alineadas.

Aquí hay una instantánea de lo que sucede en Notepad++:

ingrese la descripción de la imagen aquí

Ya he preguntado sobre este problemaaquí, pero hasta ahora esa pregunta no ha arrojado una solución. También he considerado seguir el consejo deestePregunta de superusuario, pero creo que no puedo aplicarla en esta situación porque la combinación de caracteres a utilizar es "",”, y Notepad++ no parece reconocerlo \R(?="";")en el documento.

Ahora estoy considerando resolver este problema poniendo líneas que comiencen con "",”combinación de caracteres en la línea anterior.

Pregunta: ¿Qué debo hacer para formatear este conjunto de datos CSV de tal manera que todas las filas que comiencen con "",“¿Están puestos en sus respectivas líneas anteriores? (Ya sea en Notepad++ o Excel).

Respuesta1

Me parece que esta es una tarea de limpieza de datos para elarchivo originaldesde el enlace de descarga de arriba. ¡Mi respuesta se basa en este archivo! Esto no es idéntico a la captura de pantalla que se muestra en su pregunta aquí.

Además del formato diferente desde la línea 493 en adelante, también hay algunos caracteres especiales como guiones largos y algunos problemas más. Tenga en cuenta que también hay caracteres de control (tabulaciones) en el conjunto de datos, que deben eliminarse.

Tenga en cuenta que el archivo CSV no es un formato de archivo de Windows:

  • \n= LF (Salto de línea) → Se utiliza como carácter de nueva línea en Unix/Mac OS X
  • \r\n= CR + LF → Usado como carácter de nueva línea en Windows

Asegúrese de copiar su archivo antes de comenzar y pruebe esta solución rápida y sucia con algo de trabajo manual usando Notepad++.

(1) establecer un carácter especial para uso posterior:

  • Ctrl+H
  • Encontrar que:\"\n
  • Reemplazar con:\"#\n
  • CONTROLAR Envolver alrededor
  • CONTROLAR Expresión regular
  • Replace all

(2) reemplazar todos los LF

  • Encontrar que:\n
  • Reemplazar con:LEAVE EMPTY
  • CONTROLAR Envolver alrededor
  • CONTROLAR Expresión regular
  • Replace all

(3) Restablecer saltos de línea limpios

  • Encontrar que:\"#
  • Reemplazar con:\"\n
  • CONTROLAR Envolver alrededor
  • CONTROLAR Expresión regular
  • Replace all

(4) Buscar líneas Encuentre qué ^","y edite manualmente menos de 20 líneas eliminando el avance de línea.

Por cierto, noté que los registros están georreferenciados. Probablemente Excel no sea muy adecuado para esto (consulte la captura de pantalla de QGIS a continuación).

ingrese la descripción de la imagen aquí

información relacionada