¿Cómo eliminar un texto plano que protege la comilla simple de todas las celdas seleccionadas en LibreOffice Calc?

36

Importé un archivo CSV que tiene la primera columna como valores de fecha y hora en formato ISO 8601 como

2012-01-01T00:00:00.000Z

por el primer momento del año 2012.

Luego, dispuesto a hacer que LibreOffice reconozca el formato (como esperaba trazar un diagrama), seleccioné la columna, elegí Format Cells...e ingresé el formato de hora personalizado como

YYYY-MM-DDTHH:MM:SS.000Z

Y esto parece funcionar si ... Edito una celda para eliminar una comilla simple oculta desde el principio (que sirve para proteger el contenido de una celda para que no se interprete) ya que todas las celdas recién formateadas ahora almacenan valores como

'2012-01-01T00:00:00.000Z

(tenga en cuenta la comilla simple: solo es visible cuando edita una celda en particular).

Y debo hacerlo para todas las celdas de la columna. ¿Cómo puedo automatizar esto?

ACTUALIZACIÓN: Ya he encontrado una solución para el caso particular mío: ayuda a establecer un formato de columna a "hora" en el diálogo de importación CSV. Pero todavía tengo curiosidad por saber cómo podría hacerse esto en caso de que no tuviera el archivo de datos .csv original para importar, sino solo el archivo .ods con los datos ya importados sin el formato especificado en el momento de la importación.

Ivan
fuente

Respuestas:

52

Puede eliminar la comilla simple inicial (que en realidad no es parte de la cadena en la celda) utilizando una búsqueda y reemplazo basada en expresiones regulares:

  • Busque todos los caracteres entre el inicio y el final de la cadena. ^.*$
  • reemplazar con fósforo &
Tohuwawohu
fuente
44
Gracias a Dios por Internet y por usted, señor. Esto fue exactamente correcto.
queso
55
¿Cómo diablos funciona si ni siquiera tiene un símbolo de cotización real (ni su código)?
Ivan
55
@ivan: es un truco desordenado, pero en realidad no reemplaza la cita en absoluto. Básicamente, desde la perspectiva del motor regex, la cita no está allí en absoluto (es una bandera especial en la celda). Como tal, lo que hace es hacer coincidir todo el contenido de la celda (que no tiene la cita en la cadena, recuerde). Luego, lo que hace es eliminar el contenido de la celda ( que incluye borrar el indicador de "texto sin formato" ) y luego volver a insertar el contenido. El motor de autodetección de datos luego ve un número e interpreta los datos reinsertados como tales.
Nombre falso
Vale la pena señalar que esto probablemente eliminará cualquier formato que se base en caracteres que establezcan indicadores de celda especiales, así como los indicadores de número de "texto sin formato".
Nombre falso
2
Gracias. Esto es tan extraño, mendiga la creencia. ¿Por qué debería haber este carácter de comilla simple después de la importación?
r0berts
30

En el menú "Datos", elija "Texto a columnas".

pfrenssen
fuente
55
Una alternativa más limpia al método REGEXP.
jgomo3
De manera crucial, la función "Texto a columnas" permite alterar el "tipo" de las celdas. A veces está atascado en el "texto" y ninguna cantidad de formateo parece corregirlo. Aquí se explica cómo: en la parte inferior del cuadro de diálogo en "Campos", haga clic en el encabezado de la columna que dice "Estándar", luego seleccione el tipo deseado en el menú desplegable "Tipo de columna".
sxc731
Regex no funcionó en LibraOffice, pero cambió el tipo de columna a "Texto" de "Estándar" usando Texto a columnas.
Salida
Tache que, tan pronto como trato de diseñar la columna como un número con 8 decimales, agrega las comillas simples de nuevo al frente. Me rindo, volviendo a Excel.
Salida
0

Un intento de reemplazo de expresiones regulares ^.\*$con &LibreOffice 5 bloqueado. Reemplazar .\*con &funcionó bien.

VMT
fuente
-1

Mediante el uso de un pequeño formato de computadora y un truco mágico de búsqueda (técnica de programación si se quiere) se llama expresión regular o expresión regular para abreviar. Para ver ejemplos, consulte: http://www.regular-expressions.info/examples.html

Steve
fuente
3
Serías un tipo genial si pudieras escribir un ejemplo de expresión regular.
Mikhail el
-2

En realidad, necesita un para cotizar el signo de dólar primero.

Básicamente, libreOffice está anteponiendo una sola cita en el campo, por alguna razón desconocida. Por lo tanto, debe reemplazar cualquier cosa hasta el signo de dólar con nada. Por lo tanto, use la expresión regular de ^. * \ $ Y reemplácela por nada. Trabajó para mi.

Andrew B.
fuente
¿De qué signo de dólar estás hablando?
Scott