Apri il file di testo in Numbers quando è delimitato dallo spazio, ma alcuni campi sono stringhe tra virgolette e spazi

0

Ho un file di registro che vorrei aprire in Numbers per rendere molto più facile la ricerca. Il problema è che il formato non è CSV. Ogni riga ha una dozzina di campi e i campi stessi sono separati da spazi. Tuttavia, alcuni di questi campi sono stringhe, che contengono spazio, quindi non posso semplicemente eseguire una ricerca di sostituzione per gli spazi e inserire la virgola. Un campo, la data, è effettivamente formattato in questo modo: [06/Feb/2018:03:27:37 +0000] . Questo sembra essere l'unico punto in cui vengono utilizzati [] s, quindi posso trovare / sostituire quelli con "s, ma sto ancora avendo problemi nell'importazione del documento. Posiziona ogni riga in una singola colonna.

Quindi, per riassumere, il mio obiettivo è prendere un file di input e suddividere ogni riga in modo che lo spazio sia il delimitatore, ma ignora gli spazi tra virgolette.

    
posta Jake T. 06.02.2018 - 19:51
fonte

1 risposta

2

se hai un editor che può usare regex (ad esempio textwrangler o bbedit)
o sei disposto ad usare sed (in questo caso ricorda la bandiera -E)
oppure puoi scrivere un piccolo filtro in qualsiasi lingua tu sappia (per esempio perl o python),
puoi prima cambiare le parentesi in "s e poi usare la regex:
    s / \ (? = (?: [^ "] " [^ "] ") [^ "] $) / \ t / g
per convertire qualsiasi spazio non tra virgolette in schede, in modo che Numbers lo importerà correttamente (non è che io sia così bravo con espressioni regolari, è spiegato qui: regex101.com/r/sU3fA2/29)

    
risposta data 07.02.2018 - 19:09
fonte

Leggi altre domande sui tag