Come faccio a mantenere i numeri dai numeri di maneggevolezza durante l'importazione di un CSV?

8

Quando apro un file CSV in Numbers, "utile" converte i campi che riconosce come numerici eliminando gli zeri iniziali, convertendo le cose che riconosce come date, ecc.

Ad esempio, inserisci un codice UPC in un foglio di calcolo di Numbers 005566778899 , Numbers lo convertirà automaticamente in 5566778899 . Questo non è quello che vorrei ...

Tuttavia, nel modo in cui I utilizzo Numbers, apro database con migliaia di codici UPC con zeri precedenti. Alcuni di essi contengono anche date che saranno riformattati anche da Numbers. Fondamentalmente non voglio nessuna di queste funzionalità, voglio che il mio contenuto sia lasciato in pace.

In che modo posso impedire a Numbers di lasciare intatti i miei dati quando apro un file CSV?

La conversione dei campi in testo dopo l'importazione non sarà d'aiuto dato che i dati erano già in disordine ...

    
posta henryaaron 21.03.2012 - 04:22
fonte

2 risposte

7

Se un campo in un file CSV inizia con un apostrofo ( ' ), sia Excel che Numbers tratteranno il campo come testo e non lo renderanno con alcuna formattazione numerica.

I file CSV sembrano cercare di forzare il rendering del testo attraverso racchiudendo i campi numerici tra virgolette, ma Numbers ed Excel non sembrano prendere il suggerimento che i numeri di virgolette doppie debbano essere trattati come stringhe. Il trucco sembra essere quello di modificare i file CSV in modo che utilizzino il trucco "inizia con un singolo apostrofo" anziché il trucco "racchiusi tra virgolette" per i campi numerici, ma mantenere le virgolette per i campi di testo che includono la punteggiatura (tra virgole, virgolette, interruzioni di riga, ecc.)

Per elaborare i file CSV in modo che lo facciano, puoi creare un'applicazione di Automator.

In Automator, crea una nuova applicazione.

Avrà una singola azione: lancia Shell Script (passando l'input come argomenti). Ecco lo script:

for f in "$@"
do
    perl -pi -e "s/\"\"([0-9A-Za-z: \.\-+]+)\"/'/g" "$f"
done

Salva l'applicazione risultante sul desktop. Trascina i file CSV che desideri utilizzare in Numbers sull'icona dell'applicazione e verranno convertiti in modo che Numbers tenga i numeri nei campi come numeri letterali e non li formatti o non buttino via le informazioni.

Eseguire il backup dei dati prima di provare questo; è possibile che una stringa particolarmente stranamente costruita in un campo di registrazione possa cancellare qui i risultati.

    
risposta data 21.03.2012 - 05:55
fonte
0

In particolare, ecco come gestire zeri iniziali . Penso che la tua domanda riguardi più la formattazione delle celle che quella automatica.

Come accennato, la funzione di correzione automatica è di per sé una voce di sistema e deve essere disabilitata dalle Preferenze di Sistema.

    
risposta data 21.03.2012 - 04:30
fonte

Leggi altre domande sui tag