Come dividere un enorme foglio di calcolo Excel CSV in file separati

Microsoft Excel è eccellente in tante attività quotidiane. Ma di tanto in tanto, incontri uno dei suoi difetti: la dimensione di un foglio di calcolo. Continua a leggere per scoprire come ridurre un foglio di calcolo Excel o dividere un file CSV di grandi dimensioni in più file.

Perché dividere un CSV di grandi dimensioni in più file?

Potresti pensare: "Perché dovrei dividere un file Excel di grandi dimensioni in più file più piccoli?" È una domanda interessante, soprattutto perché Excel ha un limite di righe del foglio di calcolo di 1.048.576.

Oltre 1 milione di righe suona fenomenale. Tuttavia, raggiungere il limite di righe è più facile di quanto pensi, specialmente durante determinate attività.

Ad esempio, se stai facendo marketing tramite e-mail, potresti importare un file CSV contenente milioni di indirizzi e-mail. L'unico problema è, come gestisci un foglio di calcolo con così tanti indirizzi? Inoltre, cosa succede se qualcuno ti invia un CSV che è già oltre il limite (da un altro programma)?

Se sembra un problema che potresti dover affrontare, controlla i seguenti cinque modi per dividere un file CSV o Excel di grandi dimensioni in più file più piccoli.

Non hai un file CSV di grandi dimensioni a portata di mano ma vuoi giocare a casa? Negli esempi sto usando il set di dati di ricerca aperta COVID-19 , che puoi anche scaricare e utilizzare.

1. Suddividi i file CSV utilizzando un programma

Ci sono molti utili programmi CSV splitter là fuori. Eccone due dei migliori. Tuttavia, poiché questi programmi funzionano, a volte si verificano problemi di memoria, che è un problema comune per i programmi di divisione CSV.

Splitter CSV enorme gratuito

Il Free Huge CSV Splitter è uno strumento di base per la divisione CSV. Immettere il file CSV che si desidera dividere, il conteggio delle righe che si desidera utilizzare e quindi selezionare File diviso . Il conteggio delle righe determina il numero di file di output con cui ti ritroverai.

CSV Splitter

CSV Splitter è il secondo strumento. Offre più o meno le stesse funzionalità di Free Huge CSV Splitter, anche se con un design leggermente più elegante. Divide rapidamente il tuo CSV in piccoli blocchi, permettendoti di determinare il conteggio delle righe che desideri utilizzare.

2. un file batch

Successivamente, crea un file batch programmabile . È possibile utilizzare un file batch per elaborare il CSV in blocchi più piccoli, personalizzando il file per fornire blocchi diversi.

Apri un nuovo documento di testo, quindi copia e incolla quanto segue:

 @echo off
setlocal ENABLEDELAYEDEXPANSION
REM Edit this value to change the name of the file that needs splitting. Include the extension.
SET BFN=HCAHPSHospital.csv
REM Edit this value to change the number of lines per file.
SET LPF=2500
REM Edit this value to change the name of each short file. It will be followed by a number indicating where it is in the list.
SET SFN=HosptialSplitFile
REM Do not change beyond this line.
SET SFX=%BFN:~-3%
SET /A LineNum=0
SET /A FileNum=1
For /F "delims==" %%l in (%BFN%) Do (
SET /A LineNum+=1
echo %%l >> %SFN%!FileNum!.%SFX%
if !LineNum! EQU !LPF! (
SET /A LineNum=0
SET /A FileNum+=1
)
)
endlocal
Pause

Dovrai configurare il file batch prima di eseguire. Ti dirò cosa fa ogni comando e puoi modificarlo per adattarlo alle dimensioni del tuo file batch, nonché all'output richiesto.

  • "SET BFN =" dovrebbe puntare al CSV che devi analizzare
  • " SET LPF =" è il numero di righe a cui desideri limitare il tuo nuovo file
  • "SET SFN =" è il nuovo schema di denominazione per i file divisi

Dopo aver inserito le variabili, vai su File> Salva con nome . Scegli un nome file e seleziona Salva . Quindi, seleziona il file di testo appena salvato e premi F2 per rinominarlo. Sostituisci l'estensione .txt con .bat e premi OK quando viene visualizzato l'avviso. Ora puoi dividere il tuo file CSV di grandi dimensioni in file di output più piccoli.

3. uno script di PowerShell per suddividere un file CSV

È possibile utilizzare file batch per un'ampia gamma di attività quotidiane . Ma gli script di PowerShell sono più veloci, soprattutto per questo tipo di elaborazione e divisione.

Il seguente script taglia rapidamente il tuo CSV di grandi dimensioni in file più piccoli.

Per prima cosa, premi CTRL + X per aprire il menu di alimentazione di Windows, quindi seleziona PowerShell . Se PowerShell non è un'opzione, inserisci powershell nella barra di ricerca del menu Start e seleziona la corrispondenza migliore.

Ora copia e incolla il seguente script:

 $InputFilename = Get-Content 'C:filelocation'
$OutputFilenamePattern = 'output_done_'
$LineLimit = 50000
$line = 0
$i = 0
$file = 0
$start = 0
while ($line -le $InputFilename.Length) {
if ($i -eq $LineLimit -Or $line -eq $InputFilename.Length) {
$file++
$Filename = "$OutputFilenamePattern$file.csv"
$InputFilename[$start..($line-1)] | Out-File $Filename -Force
$start = $line;
$i = 0
Write-Host "$Filename"
}
$i++;
$line++
}

Sostituisci il percorso del file nella prima riga con il tuo file CSV, quindi esegui lo script. Lo script restituisce i file CSV più piccoli nella directory dell'utente. Ad esempio, i miei file CSV si trovano in C: Users Gavin con il nome file output_done_1.csv . È possibile modificare il nome dell'output alterando la riga $ OutputFilenamePattern = 'output_done_' .

Puoi trovare la sceneggiatura originale su SPJeff .

4. Suddividere un file CSV di grandi dimensioni utilizzando PowerPivot

La tua penultima soluzione per suddividere un file CSV di grandi dimensioni in piccoli bit in realtà non lo scompone. Piuttosto, ti consente di caricare il tuo enorme file CSV in Excel e utilizzare lo strumento Power Pivot per aprirlo. Giusto; puoi effettivamente ignorare il limite di riga di Excel e gestire il file all'interno del programma.

Puoi ottenere questo risultato creando un collegamento dati al file CSV, quindi utilizzando Power Pivot per gestire i contenuti. Per una spiegazione completa e un tutorial, leggi il blog di Jose Barreto che descrive in dettaglio il processo.

In breve, Barreto crea una tabella pivot utilizzando "fino a 8,5 milioni di righe senza alcun problema". L'immagine sopra proviene dal post del blog, che mostra un totale di 2 milioni di righe in uso in Excel.

Ricorda, questo processo non divide il CSV in piccoli blocchi. Tuttavia, significa che puoi manipolare il CSV in Excel, che è un'alternativa molto utile. Se hai bisogno di ulteriori suggerimenti, scopri come utilizzare una tabella pivot per l'analisi dei dati .

5. Suddividi CSV di grandi dimensioni online utilizzando Split CSV

Esistono anche servizi online che suddividono il tuo file CSV di grandi dimensioni in bit più piccoli. Una di queste opzioni è Split CSV , uno splitter CSV online gratuito.

Split CSV ha gestito bene il set di dati COVID-19, suddividendolo in comodi blocchi. Come con altri strumenti, definisci il conteggio delle righe per ogni file e lascia che lo divida. Tuttavia, non avevo un file CSV di grandi dimensioni a portata di mano con cui testare e, in quanto tale, la tua esperienza potrebbe variare.

Split CSV include anche opzioni premium. Per una quota di abbonamento, è possibile utilizzare un delimitatore personalizzato , scegliere una selezione di tipi di file di output, rimuovere determinati caratteri dai file di output ed eliminare le righe duplicate.

Suddividi i tuoi file CSV in blocchi facilmente gestibili

Ora hai cinque soluzioni per suddividere i tuoi file CSV in piccoli pezzi, rendendoli facili da gestire. Le soluzioni variano in termini di velocità e dimensioni dei file CSV che possono gestire, quindi potresti dover sperimentare per trovare la soluzione che funziona meglio per te.

Immagine di credito: lucadp / Depositphotos