Come rimuovere un testo in chiaro proteggendo la virgoletta singola da tutte le celle selezionate in LibreOffice Calc?


36

Ho importato un file CSV con la prima colonna di essere i valori di data-time in ISO 8601 formato simile

2012-01-01T00:00:00.000Z

per il primo momento dell'anno 2012.

Quindi, pronto a fare in modo che LibreOffice riconosca il formato (non vedevo l'ora di tracciare un diagramma), ho selezionato la colonna, scelto Format Cells...e inserito il formato orario personalizzato come

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

E questo sembra funzionare se ... Modifico una cella per rimuovere una singola virgoletta nascosta dal suo inizio (che serve a proteggere il contenuto di una cella dall'interpretazione) poiché tutte le celle appena formattate ora memorizzano valori come

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

(nota la singola citazione: è visibile solo quando modifichi una cella particolare).

E lo farò per tutte le celle nella colonna. Come posso automatizzare questo?

AGGIORNAMENTO: Ho già trovato una soluzione per il mio caso particolare: aiuta a impostare un formato di colonna su "tempo" nella finestra di dialogo di importazione CSV. Ma sono ancora curioso di sapere come è possibile farlo nel caso in cui non avessi il file di dati .csv originale da importare ma solo il file .ods con i dati già importati senza il formato specificato al momento dell'importazione.

Risposte:


52

Puoi rimuovere la virgoletta singola iniziale (che in realtà non fa parte della stringa nella cella) usando una ricerca basata su regex e sostituisci:

  • Cerca tutti i caratteri tra l'inizio e la fine della stringa ^.*$
  • sostituire con la corrispondenza &

4
Grazie al cielo per Internet e per lei, signore. Questo era esattamente giusto.
queso

5
Come diavolo funziona se non contiene nemmeno un vero simbolo di virgolette (né il suo codice)?
Ivan

5
@ivan - È un trucco disordinato, ma in realtà non sostituisce affatto la citazione. Fondamentalmente, dal punto di vista del motore regex, la citazione non è affatto lì (è una bandiera speciale sulla cella). In quanto tale, ciò che fa è abbinare l'intero contenuto della cella (che non ha la virgoletta nella stringa, ricorda). Quindi, ciò che fa è eliminare il contenuto della cella ( che include l'eliminazione del flag "testo normale" ), quindi reinserire il contenuto. Il motore di rilevamento automatico dei dati quindi vede un numero e interpreta i dati reinseriti come tali.
Nome falso

Vale la pena notare che questo probabilmente eliminerà qualsiasi formattazione che si basa su caratteri che impostano flag di cella speciali, nonché i flag di numero "di testo semplice".
Nome falso

2
Grazie. Questo è così strano, supplica mendicante. Perché mai dovrebbe esserci questo singolo carattere virgolette dopo l'importazione?
r0berts,

30

Dal menu "Dati", seleziona "Testo in colonne".


5
Un'alternativa più pulita al metodo REGEXP.
jgomo3,

Fondamentalmente, la funzione "Testo in colonne" consente di modificare il "tipo" delle celle. A volte è bloccato sul "testo" e nessuna quantità di riformattazione sembra risolverlo. Ecco come: nella parte inferiore della finestra di dialogo in "Campi", fai clic sull'intestazione della colonna che dice "Standard", quindi seleziona il tipo desiderato nel menu a discesa "Tipo di colonna".
sxc731,

Il Regex non funzionava in LibraOffice, ma cambiava il tipo di colonna in "Testo" da "Standard" usando Testo in colonne funzionanti.
Esci

Scratch che, non appena provo a definire la colonna come un numero con 8 decimali, aggiunge le virgolette singole in primo piano. Mi arrendo, tornando a Excel.
Esci

0

Un tentativo di regex in sostituzione di ^.\*$con &LibreOffice in crash 5. Sostituzione di .\*con &funzionato correttamente.



-2

In realtà, devi prima citare il simbolo del dollaro.

Fondamentalmente libreOffice sta anteponendo una singola citazione nel campo, per qualche motivo sconosciuto. Quindi, è necessario sostituire qualsiasi cosa fino al simbolo del dollaro con niente. Quindi, usa la regex di ^. * \ $ E sostituiscila con niente. Ha funzionato per me.


Di quale simbolo di dollaro stai parlando?
Scott,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.