Apri un CSV e scegli come spezzarlo: un numero fisso di righe per file, una dimensione massima, un numero di file oppure un file per ogni valore di una colonna. Ogni parte è una copia identica, byte per byte, dei record originali, con l’intestazione ripetuta in cima: virgolette, fine riga, codifica e BOM restano come erano. Controlla l’elenco delle parti, poi scaricale una alla volta o tutte insieme in un file ZIP. Si possono dividere anche file oltre i 25 MB e non viene caricato nulla.
Come dividere un file CSV
- Apri un file
.csv,.tsvo.txt, trascinalo sullo strumento oppure incolla le righe. La prima riga viene considerata l’intestazione. - Scegli il criterio di divisione e indica il numero di righe, la dimensione massima in byte, il numero di file oppure la colonna.
- Elenca le parti per vedere nome, numero di righe e dimensione di ciascun file, poi scaricane una sola o tutte in un unico ZIP.
Le parti prendono il nome del file originale: orders.csv diventa orders-part-001.csv, orders-part-002.csv… Un file .tsv conserva l’estensione .tsv. Lo ZIP si chiama orders-parts.zip.
Criteri di divisione
| Righe per file | Ogni parte riceve questo numero di righe di dati; l’ultima prende quelle rimaste. L’intestazione non viene contata. |
|---|---|
| Dimensione massima del file | Ogni parte viene riempita con record interi finché il successivo non supererebbe la dimensione, calcolata in byte compresi intestazione e BOM. Un record non viene mai tagliato a metà: se un singolo record supera il limite, la divisione si ferma con un errore che lo indica. |
| Numero di file | Lo strumento conta prima i record, poi mette lo stesso numero di righe in ogni parte, arrotondato per eccesso (al massimo 1.000 file). Per via dell’arrotondamento puoi ottenere meno file di quelli richiesti: 5 righe in 4 file danno parti da 2, 2 e 1. |
| Valori di una colonna | Le righe vengono raggruppate in base al valore esatto della colonna scelta e ogni valore diventa orders-West.csv, orders-East.csv…, nell’ordine in cui compare la prima volta. All’interno di ogni parte le righe mantengono l’ordine originale. Al massimo 1.000 valori distinti. |
| Ripeti l’intestazione in ogni file | Attivo per impostazione predefinita. Disattivalo per tenere l’intestazione solo nella prima parte, per esempio se le parti verranno poi riconcatenate. |
Dati particolari: come vengono gestiti
- I valori tra virgolette che contengono il delimitatore o degli a capo restano nel loro record, letti secondo la RFC 4180. Un indirizzo su più righe non finisce mai diviso tra due parti.
- I record vengono copiati come byte grezzi, senza essere rianalizzati e riscritti: virgolette, fine riga e zeri iniziali restano identici. Un BOM UTF-8 all’inizio del file viene scritto all’inizio di ogni parte, così Excel continua a riconoscerle tutte come UTF-8.
- Le righe vuote tra un record e l’altro vengono saltate. Se l’ultimo record non termina con un a capo, nella parte riceve il fine riga del file.
- I valori della colonna vengono confrontati in modo esatto:
Westewestdiventano file separati. Poiché molti file system non distinguono maiuscole e minuscole, il secondo si chiamaorders-west-2.csvinvece di sovrascrivere il primo. - Nei nomi dei file, caratteri come
/ \ : * ? " < > |diventano_, i nomi vengono troncati a 60 caratteri e un valore vuoto produceorders-empty.csv. Nell’elenco delle parti, la colonna con il valore mostra esattamente quale valore contiene ogni file.
Codifiche che si possono dividere
La divisione lavora direttamente sui byte, il che è sicuro per UTF-8 e per le codifiche a un byte come Windows-1252.I file UTF-16 non si possono dividere così: salvali prima in UTF-8, per esempio con Formatta CSV. I file Shift_JIS, GB18030, GBK e Big5 si possono dividere se il delimitatore è virgola, punto e virgola o tabulazione, ma non con la barra verticale, perché in quelle codifiche il byte della barra può comparire all’interno di un carattere. Se un file non si può dividere, lo strumento te lo dice prima di iniziare.
Risoluzione dei problemi
- Un record è più grande della dimensione scelta per le parti. Aumenta la dimensione massima: deve contenere l’intestazione più il record più grande.
- La divisione creerebbe più di 1.000 file. Aumenta le righe per file o la dimensione, oppure scegli meno file.
- La colonna ha più di 1.000 valori distinti. Dividi per una colonna più generica, per esempio la regione invece del cliente, oppure riduci prima il file con Filtra righe CSV.
- Un valore tra virgolette non viene mai chiuso. Da qualche parte nel file si apre una virgoletta che non si chiude più, quindi tutto il resto del file diventerebbe un unico record. Trovala con Convalida CSV.
File grandi e privacy
La divisione non ha il limite dei 25 MB. Per un file più grande vedi un’anteprima delle prime 200 righe, mentre la divisione legge l’intero file a blocchi da 8 MB, così l’uso della memoria resta basso. Le parti restano nel browser come dati di file finché non le scarichi; il limite pratico è lo spazio di archiviazione libero che il browser può usare.
La divisione gira in un worker in background in questa scheda del browser e Annulla la interrompe. Il file non viene mai inviato a un server. Per rimettere insieme le parti usa Unisci file CSV; per ridurre un file invece di spezzarlo usa Comprimi CSV.
Esempio
Un piccolo export di ordini con fine riga CRLF (qui mostrati come normali a capo) e una nota su più righe, diviso in parti da 2 righe con l’intestazione ripetuta. L’a capo tra virgolette resta dentro l’ordine A2, e l’ultimo record, che nel file di partenza non aveva un a capo finale, riceve il fine riga CRLF del file.
order_id,region,note A1,West,ok A2,East,"two lines" A3,West,"a, b" A4,,late A5,east,ok
orders-part-001.csv (2 rows) order_id,region,note A1,West,ok A2,East,"two lines" orders-part-002.csv (2 rows) order_id,region,note A3,West,"a, b" A4,,late orders-part-003.csv (1 row) order_id,region,note A5,east,ok
Domande frequenti
Ogni parte si aprirà correttamente in Excel?
Sì, se si apriva correttamente l’originale: ogni parte ha la stessa intestazione, lo stesso delimitatore e la stessa codifica, e conserva il BOM UTF-8 se l’originale lo aveva.
Posso dividere per colonna un file senza riga di intestazione?
No. La prima riga viene sempre letta come intestazione e la colonna si sceglie in base al suo nome. Aggiungi prima una riga di intestazione, per esempio nell’editor CSV.
Perché ho ottenuto meno file di quelli richiesti?
Con «Numero di file» ogni parte riceve lo stesso numero di righe, arrotondato per eccesso, quindi le righe possono finire prima dell’ultimo file. 10 righe in 4 file danno 3, 3, 3 e 1; 10 righe in 6 file danno cinque file da 2.