Nwlapcug.com


Come convertire XLS in CSV in Perl

Come convertire XLS in CSV in Perl


Aziende comunemente utilizzano Excel per memorizzare le tabelle di dati. Spesso, le aziende troveranno un uso per i dati che richiede la conversione in un formato diverso per altri software da utilizzare. Ma i file di Excel non sono progettati per essere letti da altri programmi. I dati in che essi contenuti devono essere convertito in un formato comune, ad esempio file di valori separati da virgola (CSV). Per le persone con un sacco di file di Excel da convertire, il processo usuale è ingombrante. Quindi capacità di Perl per gestire le attività di elaborazione dati rapidamente e facilmente è utile in questo caso.

Istruzioni

Creare il File CSV

1

Installare il modulo Perl "Spreadsheet::ParseExcel" sul vostro sistema. Questo è il modulo Perl standard per la lettura dei dati da file Excel. Il processo di installazione dipende dal tuo tipo di sistema.

Se si dispone di Activestate Perl (cioè. Perl per Windows):

Aprire una finestra del Prompt dei comandi. Andare nella sottocartella "bin" della cartella in cui si trova il vostro programma di Activestate Perl. Se non sai dove si trova, è possibile utilizzare la funzionalità di ricerca di Windows per trovare "Activestate" e prendere nota del percorso della"directory" nella cartella di Activestate Perl. Poi vai alla finestra del Prompt dei comandi e digitare "DIR" seguito da tale percorso e quindi premere ritorno. Quindi digitare "bin DIR" e premi INVIO.

Digitare "ppm" e premere INVIO. Alcuni testo apparirà e poi sarete in grado di digitare comandi nuovamente. Digitare "Spreadsheet::ParseExcel di installazione" e premere INVIO. Altro testo apparirà e quindi l'installazione sarà completata.

Se avete Perl standard:

Aprire un prompt dei comandi o la finestra del terminale. In Mac OS X, il programma si chiama Terminal. Digitare quanto segue:

Perl - MCPAN -e installazione Spreadsheet::ParseExcel

Premere Return. Un sacco di testo apparirà e quindi installazione sarà completa.

2

Il file di Excel. rendere accessibile allo script Perl. Fare una copia del file Excel con il nome "xls_test.xls" per questo tutorial e spostarlo nella cartella dove si trova lo script Perl.

3

Caricare il file di Excel nel tuo script Perl con questo codice:

utilizzare Spreadsheet::ParseExcel;

mio $xlsparser = Spreadsheet::ParseExcel -> New ();

mio $xlsbook = $parser -> parse('xsl_test.xls');

mio $xls = $xls -> worksheet(0);

Ora abbiamo un oggetto ("$xls") che contiene i dati dal foglio di lavoro prima del nostro file di Excel. Se si desidera ottenere dati da un foglio di lavoro diverso, è possibile sostituire lo zero ("0") nella quarta riga con il numero del foglio di lavoro meno uno. Ad esempio, il numero del primo foglio di lavoro è zero ("0"), numero del terzo foglio di lavoro è due ("2") e così via. Se il file di Excel ha solo un foglio di lavoro, utilizzare il codice come-è.

4

Scopri quali righe e colonne del foglio di lavoro ha. Utilizzare questo codice:

mio ($row_first, $row_last) = $xls -> row_range();

mio ($col_first, $col_last) = $xls -> col_range();

5

Creare una variabile per memorizzare i dati CSV. Utilizzare questo codice:

mio $csv = ';

6

Creare il file CSV. Per farlo, utilizzare questo codice:

per il mio $row ($row_first.. $row_last) {#Step attraverso ogni riga

per il mio $col ($col_first.. $col_last) {#Step attraverso ogni colonna

mio $cell = $xls -> get_cell ($row, $col); #Get la cella corrente

successivo a meno che non $cell;

$csv. = $cell -> unformatted(); #Get la cella di raw dati--senza colori di bordo o qualcosa di simile

Se ($col = = $col_last) {

$csv. = "\n"; #Make una nuova riga alla fine della riga

} else {

$csv. = ","; "Aggiungere una virgola tra ogni elemento

}

}

}

7

Salvare i dati in $csv in un file utilizzando le funzioni di scrittura di file di Perl. Assicurarsi che il nome del file termina con ". csv" per maggiore chiarezza.

Consigli & Avvertenze

  • File di Excel sono molto più complicati di file CSV. Questo funziona per i file di Excel con una riga di intestazione o nessuna riga di intestazione seguita da righe di dati. Quant'altro richiede la programmazione più complicato.