importa csv con due righe come intestazioneCiao,
Sto lavorando con file CSV di grandi dimensioni (± 150 MB), i file iniziano con due righe che devono essere combinate come intestazione di colonna.
Ho scritto uno script che esegue il ciclo attraverso ogni colonna e ho impostato il nome della colonna sul nome corrente + il valore della prima riga.
Il problema è che funziona molto lentamente, a volte devo aspettare ± 10 minuti per cambiare il nome di 4000 colonne.
In qualche modo dipende dalla dimensione del file, cambiare la stessa quantità di colonna in un piccolo file richiede pochi secondi.
Ho provato alcune soluzioni alternative -
1. sottoinsieme solo la prima riga e cambiando tutti i nomi delle colonne (molto velocemente). Ho quindi pensato di concatenare la tabella originale, ma non posso farlo perché i nomi delle colonne ora non sono gli stessi.
2. aggiornare l'impostazione di importazione CSV come suggerito Qui . ma ancora non vedo un'opzione per includere due righe come intestazione.
3. esportare il file come xls e importarlo con due righe come intestazione. il tempo di esportazione è più lungo della modifica del nome della colonna originale.
C'è un'altra soluzione alternativa che mi manca, forse c'è un'opzione per modificare tutti i nomi di colonna in base a un elenco?
Grazie in anticipo per gli aiutanti.
Tabella datiScriptingRi: importa csv con due righe come intestazioneCiao @Rans ,
Se apri il file con JMP e deselezioni la casella "Usa programma predefinito per aprire. Deseleziona per aprire come testo ", quindi seleziona il pulsante di opzione" Dati (utilizzando anteprima) "; assicurati di selezionare tutti i file (*. *) Nella finestra aperta di JMP.

È quindi possibile selezionare alcuni dei delimitatori importanti e altre cose, inclusa la riga in cui iniziano i dati, quindi se ci sono due righe come intestazioni, ne salterai una e quindi imposterai l'inizio dei dati alla riga 3 o qualunque essa sia.

È quindi possibile aprire lo script "Sorgente" nella tabella dei dati e modificare le impostazioni di importazione secondo necessità e utilizzare questo script nel programma JSL.

In alternativa, se è possibile salvarlo nuovamente come file XLSX, è possibile utilizzare il comando Apri () e definire quale scheda aprire, quale colonna con cui iniziare / terminare e quale riga con cui avviare / interrompere oltre ad avere più righe come intestazione. Questo dovrebbe risolvere il tuo problema di dover rinominare le colonne.

L'ultima opzione che vorrei menzionare è che se sai cosa sono i nomi delle colonne e non cambiano, allora nel tuo script, puoi avere un elenco ColNames = {"...", "...", .. .} con tutti i nomi corretti tra virgolette separate da virgole nell'elenco. Quindi, dopo aver caricato il file CSV, puoi eseguire un ciclo For per rinominare ogni colonna in base alle voci in ColNames. Per esempio:
dt=Current data table();//or whatever your data table name is.
icols=.;//variable to count through the columns
For(icols=1, icols<=N Columns(dt), icols++,
Column(dt, icols) <<SET name=""></SET>
Spero che uno di questi aiuti!
In bocca al lupo,
DS
Ri: importa csv con due righe come intestazionePotresti provare a importare più file, anche per un solo file. Potrebbe essere più veloce e supporta più intestazioni di riga.
File-> Importa più file