Guide

Come aprire un file CSV troppo grande per Excel

Dal team di Opener6 min di lettura

Un foglio di lavoro di Excel contiene al massimo 1.048.576 righe e 16.384 colonne, quindi un export da 3 milioni di righe semplicemente non ci sta: Excel carica la prima parte, ti avvisa e lascia indietro il resto. Per vedere il file completo, aprilo con uno strumento senza quel limite, come il Visualizzatore CSV, caricalo nel Modello di dati di Excel invece che in un foglio, dividilo oppure analizzalo con Python o un database.

Perché Excel taglia il file

Un file CSV non ha un limite di dimensione proprio. È testo semplice: una riga di testo per ogni riga di dati, con i valori separati da virgole o punti e virgola (se ti è nuovo, vedi cos’è un file CSV). Excel però mette tutto ciò che apri in un foglio di lavoro, e un foglio di lavoro ha una griglia fissa: 1.048.576 righe per 16.384 colonne (fino alla colonna XFD).

Quando il file è più grande di quella griglia, Excel mostra un avviso che il file non è stato caricato completamente e tiene solo le righe che ci stanno. Entrano l’intestazione e 1.048.575 righe di dati; dalla riga 1.048.577 in poi, sullo schermo non c’è più niente.

Nemmeno Fogli Google è una via d’uscita. Ha un limite di 10 milioni di celle per foglio di lavoro, contate su tutti i fogli. Un file con 3 milioni di righe e 10 colonne fa già 30 milioni di celle, quindi non si importa neanche lì.

Il vero rischio: salvando perdi i dati

L’avviso si chiude facilmente, e ciò che resta sullo schermo sembra una tabella perfettamente normale. Il pericolo arriva dopo:

Se Excel ha già mostrato l’avviso, chiudi il file senza salvare e lascia intatto l’export originale. Poi controlla quanto è grande davvero prima di decidere cosa fare.

Opzione 1: apri il file completo nel browser

Se ti serve soprattutto guardare i dati (controllare qualche record, trovare un cliente, vedere cosa contiene una colonna), un visualizzatore senza limiti di griglia è la via più rapida.

Il Visualizzatore CSV di Opener legge il file nel tuo browser e non lo carica mai, cosa importante quando l’export contiene dati di clienti o dati finanziari. L’analisi gira in un thread in background e vengono disegnate solo le righe sullo schermo, quindi un file da 200.000 righe si apre in circa un secondo e i file con milioni di righe funzionano su un normale portatile. Il limite pratico è la memoria del tuo dispositivo, non un numero fisso di righe.

Una volta aperto puoi:

Quest’ultimo punto è un trucco comodo: filtri 3 milioni di righe fino alle 40.000 che riguardano una sola regione, le esporti e il file più piccolo si apre in Excel senza avvisi. Il visualizzatore non esegue formule, tabelle pivot o grafici; per quelli, continua a leggere.

Opzione 2: caricalo nel Modello di dati di Excel

Le versioni desktop recenti di Excel possono importare un CSV tramite Power Query (il percorso «Recupera dati» / «Da testo/CSV» nella scheda Dati) invece di aprirlo direttamente. La differenza sta in dove finiscono i dati.

Invece di caricare il risultato in un foglio di lavoro, scegli di caricarlo solo come connessione e di aggiungerlo al Modello di dati. Il Modello di dati conserva i dati in forma compressa fuori dalla griglia, quindi non è soggetto al limite di 1.048.576 righe. Puoi poi creare una tabella pivot basata su di esso e riepilogare tutti i 3 milioni di righe: totali per mese, conteggi per categoria e così via.

Il compromesso: non puoi scorrere le righe come in un foglio normale, e le voci di menu esatte cambiano tra le versioni di Excel. È l’opzione migliore quando devi restare in Excel e il risultato finale è un riepilogo, non una vista riga per riga.

Opzione 3: conta, visualizza e dividi dalla riga di comando

Su macOS, Linux o Windows con WSL, alcuni comandi standard rispondono in pochi secondi a «quanto è grande?» e «cosa contiene?», senza caricare il file in niente:

wc -l export.csv              # numero di righe
head -n 20 export.csv         # prime 20 righe
head -n 100000 export.csv > sample.csv   # un campione più piccolo per fare prove

Nota che wc -l conta le righe di testo, non le righe di dati. Se alcuni valori contengono a capo tra virgolette (succede spesso con indirizzi e commenti), il numero di righe di testo sarà più alto del numero di righe di dati.

Per dividere il file in parti che Excel riesce ad aprire, ognuna con la propria riga di intestazione:

tail -n +2 export.csv | split -l 1000000 - part_
for f in part_*; do
  { head -n 1 export.csv; cat "$f"; } > "$f.csv" && rm "$f"
done

Dividere va bene per controlli veloci, ma attenzione allo stesso problema degli a capo tra virgolette: split taglia per righe di testo e può spezzare a metà un valore su più righe. E lavorare su quattro cartelle di lavoro separate è scomodo se ti servono i totali su tutte.

Opzione 4: analizzalo con pandas, SQLite o DuckDB

Se devi calcolare, unire o aggregare, la risposta onesta è un vero strumento per i dati. Tutti questi gestiscono decine di milioni di righe su un normale portatile.

Python con pandas legge l’intero file in memoria:

import pandas as pd

df = pd.read_csv("export.csv")
print(len(df))
print(df.groupby("region")["amount"].sum())

Se il file è più grande della tua RAM, leggilo a blocchi:

total = 0
for chunk in pd.read_csv("export.csv", chunksize=500_000):
    total += chunk["amount"].sum()

DuckDB può interrogare un file CSV direttamente in SQL, senza importarlo prima:

SELECT region, COUNT(*) AS orders, SUM(amount) AS revenue
FROM 'export.csv'
GROUP BY region
ORDER BY revenue DESC;

SQLite è installato su molti sistemi ed è comodo quando vuoi tenere i dati in un unico file interrogabile:

sqlite3 sales.db
sqlite> .mode csv
sqlite> .import export.csv sales
sqlite> SELECT COUNT(*) FROM sales;

Un buon flusso di lavoro è fare qui il lavoro pesante e poi salvare in CSV un risultato piccolo (qualche migliaio di righe di riepilogo) da usare in Excel o in un report.

Domande frequenti

Posso aumentare il limite di righe di Excel?

No. Il limite di 1.048.576 righe è fisso per ogni foglio di lavoro. Puoi solo aggirarlo: caricare i dati nel Modello di dati, dividere il file o usare un altro strumento.

Come faccio a sapere se il mio file è stato troncato?

Excel ti avvisa quando apre il file, e un foglio i cui dati finiscono esattamente alla riga 1.048.576 è un indizio forte. Per esserne certo, controlla la dimensione del file originale con wc -l o aprilo nel Visualizzatore CSV, che mostra il numero totale di righe.

Fogli Google o LibreOffice lo aprono?

Di solito no. Fogli Google ha un tetto di 10 milioni di celle per foglio di lavoro, e anche LibreOffice Calc ha un numero massimo fisso di righe per foglio. Entrambi vanno bene per file più piccoli, ma un export da milioni di righe richiede un visualizzatore, un database o uno script.

È sicuro aprire un grosso export di clienti in uno strumento nel browser?

Dipende dallo strumento. Molti convertitori online caricano il file su un server. Opener legge il file in locale nel tuo browser e non invia nulla da nessuna parte, quindi i dati restano sul tuo dispositivo.