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.