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 scorre ogni colonna e imposta 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.
Dipende in qualche modo dalla dimensione del file, la modifica della stessa quantità di colonne in un file di piccole dimensioni richiede pochi secondi.
Ho provato alcune soluzioni alternative:
1. sottoimposta solo la prima riga e modifica tutti i nomi delle colonne (molto veloce). 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 poi 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 delle colonne in base a un elenco?
Grazie in anticipo per gli aiutanti.
Personalizzazione di massaRe: importare 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->Import Multiple FilesFile->Import Multiple FilesFile->Importa più file
Re: importare CSV con due righe come intestazioneCIAO @Rans ,
Se apri il file con JMP e deseleziona la casella "Utilizza programma predefinito per aprire. Deseleziona per aprire come testo." e quindi seleziona il pulsante di opzione "Dati (uso dell'anteprima)"; assicurati di selezionare tutti i file (*.*) nella finestra aperta di JMP.

Puoi quindi 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 sulla riga 3 o qualunque cosa sia.

Puoi quindi aprire lo script "Origine" nella tabella dati e modificare le impostazioni di importazione secondo necessità e utilizzare questo script nel tuo programma JSL.

In alternativa, se puoi salvarlo nuovamente come file XLSX, puoi utilizzare il comando Open() e definire quale scheda aprire, con quale colonna iniziare/interrompere e con quale riga iniziare/interrompere oltre ad avere più righe come intestazione. Ciò dovrebbe risolvere il tuo problema di dover rinominare le colonne.

L'ultima opzione che menzionerei è che se sai quali sono i nomi delle colonne e non cambiano, allora nel tuo script puoi avere un elenco ColNames ={"...", "...",.. .} con tutti i nomi corretti tra virgolette separati da virgole nell'elenco. Quindi, dopo aver caricato il file CSV, puoi eseguire un ciclo For per rinominare ciascuna 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!
Buona fortuna,
DS