Json To Csv LogoJson To Csv

Perché Excel non apre il tuo file CSV troppo grande e cosa fare invece (Guida 2026)

Excel si ferma a 1.048.576 righe per foglio di lavoro, e un file CSV con più righe si apre troncato, con il resto che manca in silenzio dalla cartella di lavoro. Il file in sé è a posto: il formato CSV è semplice testo e non ha un limite di dimensione suo, quindi il limite viene dal programma che lo apre, non dal file. La correzione non è un'impostazione dentro Excel, perché il limite della griglia è fisso nel programma. Dividi il file in parti sotto il limite, carica tutto il file nel modello dati con Power Query, oppure guarda solo le righe che ti servono. Non salvare mai sopra l'originale, perché salvare una cartella di lavoro troncata cancella le righe che Excel non ha mai caricato.

Aggiornato: 2026-11-0911 min di lettura

Controlla in 30 secondi: conta le righe prima di dare la colpa al file

La prima cosa da chiarire quando Excel rifiuta o tronca il tuo file CSV è quante righe contiene davvero il file, perché la correzione dipende tutta da quel numero, e tirare a indovinare fa solo perdere tempo. Un file con 900.000 righe si apre bene in Excel e il problema è un altro, per esempio un separatore o un problema di codifica, che le guide compagne trattano. Un file con 1,2 milioni di righe tocca il limite della griglia, e nessuna impostazione dentro Excel riuscirà a farlo entrare. Conta prima, poi scegli la correzione adatta al numero, invece di provare correzioni a caso.

Il conteggio più veloce non richiede altro programma oltre a un terminale. Su Windows, apri PowerShell ed esegui Get-Content con Measure-Object, oppure su un computer Mac o Linux esegui wc -l sul file, che conta le interruzioni di riga. Anche un programma di testo con il conteggio delle righe nella barra di stato funziona, anche se un file molto grande potrebbe metterci un po' ad aprirsi in un programma di testo. Il numero che ottieni è il numero di righe di testo, non il numero di righe di dati: un file con intestazione ha una riga in più rispetto alle righe di dati, e i valori che contengono interruzioni di riga dentro le virgolette possono occupare più di una riga, quindi il conteggio delle righe è un limite superiore, non un conteggio esatto, e per la maggior parte dei file esportati è abbastanza preciso per decidere.

Per un conteggio esatto, usa il modulo csv di Python, che legge il file una riga alla volta e non lo carica mai in memoria, quindi funziona su file troppo grandi per un foglio di calcolo. Lo script qui sotto ha contato un file di prova da 1.200.000 righe di dati in un paio di secondi e ha dato esattamente lo stesso risultato del conteggio delle righe, perché quel file non aveva interruzioni di riga dentro le virgolette. Se i due conteggi non sono uguali sul tuo file, fidati del conteggio del modulo csv: la differenza viene da valori con interruzioni di riga dentro, e ti dice anche che il file ha valori su più righe dentro le virgolette, cosa che conta per la ricetta di divisione più avanti in questa guida.

Conta le righe di un file CSV
Terminal (Mac or Linux):
$ wc -l big_sample.csv
1200001 big_sample.csv

PowerShell (Windows):
PS> (Get-Content big_sample.csv | Measure-Object -Line).Lines
1200001

Python (exact row count, one row at a time):
import csv
with open('big_sample.csv', newline='') as f:
    reader = csv.reader(f)
    header = next(reader)
    rows = sum(1 for _ in reader)
print(header, rows)
# ['id', 'name', 'total'] 1200000

Lines minus the header row: 1,200,001 - 1 = 1,200,000 data rows.
That is 151,425 rows over Excel's limit.

Nota che cosa dimostra questo file di prova: un file CSV da 1,2 milioni di righe con tre colonne corte pesa solo circa 32 MB su disco, quindi il problema non è la dimensione del file in megabyte. La gente si aspetta che un file grande significhi centinaia di megabyte, ma un file stretto con un milione di righe corte è piccolo su disco e resta troppo grande per la griglia. Il numero di righe è il numero che conta, non i megabyte, ed è per questo che il conteggio è il primo passo. Se il tuo file supera 1.048.575 righe di dati, hai un problema di limite della griglia, e il resto di questa guida fa al caso tuo. Se resta sotto quel numero, il problema è altrove, e le guide compagne sul problema della colonna unica, sul problema di codifica e sul problema degli zeri iniziali sono i posti dove guardare.

Il numero che conta davvero: 1.048.576 righe

Excel contiene al massimo 1.048.576 righe per 16.384 colonne in un foglio di lavoro, e una singola cella contiene al massimo 32.767 caratteri. Sono i limiti pubblicati per il formato attuale dei fogli di calcolo, e non cambiano da anni. La riga di intestazione conta come una delle 1.048.576, quindi un file CSV con intestazione può contenere al massimo 1.048.575 righe di dati in un foglio. Un file con 1.048.576 righe di dati più l'intestazione supera il limite di una riga, ed Excel lo tronca. Il vecchio formato .xls è molto più piccolo, con 65.536 righe per foglio, quindi se il tuo file viene da un vecchio sistema, controlla anche il formato, ma per un file .csv aperto in un Excel moderno, 1.048.576 è il numero.

Il formato CSV in sé non fissa nessun limite. Un file CSV è semplice testo, con le righe separate da interruzioni di riga e i valori separati da un delimitatore, e la descrizione del formato, RFC 4180, non dice nulla su un numero massimo di righe, colonne o byte. Un file CSV può contenere tante righe quanto spazio hai su disco, e il file di prova di questa guida contiene 1,2 milioni di righe in 32 MB senza nessun problema. Il limite viene da chi apre il file, mai dal file in sé, ed è per questo che lo stesso file si apre per intero in un programma di testo o in una banca dati e si tronca in Excel. Dare la colpa al file, o al programma che lo ha esportato, non coglie il punto: chi ha esportato ha fatto il suo lavoro, e chi legge è quello con il tetto.

Due altri numeri modellano il problema nella pratica. Il primo è il numero di colonne: 16.384 colonne sono tante, e quasi nessun file CSV reale ci si avvicina, quindi le colonne raramente sono il limite che blocca. Il secondo è la memoria: Excel carica in memoria le righe che mostra, e un file vicino al limite di righe con righe larghe può rallentare il programma fino a farlo strisciare o farlo chiudere, anche quando il numero di righe resta tecnicamente sotto il limite. Un milione di righe con valori corti si apre bene, mentre un milione di righe con valori di testo lunghi potrebbe non aprirsi, quindi tratta 1.048.576 come il tetto rigido e poche centinaia di migliaia di righe larghe come il tetto pratico. Se il tuo file è lento oltre che grande, la ricetta di divisione di questa guida aiuta due volte, perché i file più piccoli sono anche file più veloci.

Cosa fa davvero Excel quando il file è troppo grande

Quando apri un file CSV con più righe di quante ne contenga la griglia, Excel non rifiuta il file. Carica le prime 1.048.576 righe, intestazione compresa, e ti mostra un avviso che dice che l'insieme di dati è troppo grande per la griglia e che salvare la cartella di lavoro farà perdere i dati non caricati. La pagina di assistenza di Microsoft lo dice esattamente così in ogni lingua: l'insieme di dati supera il numero di righe disponibili in Excel, quindi alcuni dati non sono stati caricati. Il resto delle tue righe resta nel file su disco, intatto, ma non è nella cartella di lavoro, e niente sullo schermo ti dice quali righe mancano, a parte il numero.

La parte silenziosa è quella che rende tutto questo pericoloso. La cartella di lavoro sembra completa: ha un'intestazione, ha righe fino in fondo al foglio, e le righe mancanti sono semplicemente assenti, senza uno spazio vuoto e senza un segno. Se ordini, filtri o costruisci un grafico su quella cartella di lavoro, stai lavorando su un insieme di dati parziale e i risultati sono sbagliati in un modo difficile da notare, perché il primo milione di righe spesso sembra rappresentativo. Totali, medie e conteggi calcolati dalla cartella di lavoro troncata sono tutti sottostimati, e l'errore cresce con ogni riga oltre il limite. Un file con 1,2 milioni di righe perde in silenzio circa un ottavo dei suoi dati, e un file con 5 milioni di righe ne perde quattro quinti, pur avendo esattamente lo stesso aspetto sullo schermo.

La parte distruttiva arriva quando salvi. Salvare la cartella di lavoro troncata riscrive solo le righe caricate da Excel, quindi le righe che non sono mai entrate nella griglia spariscono dal file salvato per sempre. La guida compagna sul salvataggio tratta questo viaggio di andata e ritorno in dettaglio, ma la regola qui è assoluta: non salvare mai sopra il file CSV originale da una cartella di lavoro che ti ha avvisato del limite della griglia. Se hai già salvato sopra l'unica copia, controlla la cronologia delle versioni di OneDrive o SharePoint, una copia di sicurezza, un allegato di posta elettronica o il sistema di origine da cui è venuto il file, perché il file salvato non contiene più le righe mancanti e nessuna formula può riportarle indietro. Chiudi la cartella di lavoro troncata senza salvare, e ricomincia dal file originale con una delle correzioni qui sotto.

I limiti per programma: Excel, Fogli Google, LibreOffice e gli strumenti senza limite

Non tutti i programmi si fermano nello stesso punto, quindi a volte la correzione giusta comincia con un programma diverso. Excel si ferma a 1.048.576 righe per 16.384 colonne per foglio di lavoro, come detto sopra. LibreOffice Calc si ferma alle stesse 1.048.576 righe, ma solo a 1.024 colonne, quindi non aiuta nemmeno per un file largo. Apple Numbers avvisa quando un file supera circa 1.000.000 di righe, quindi è nella stessa classe. Fogli Google conta le celle invece delle righe: un foglio di calcolo può contenere fino a 20 milioni di celle, e un'importazione CSV è anche limitata a 100 MB, quindi un file stretto può contenere più righe di quante ne permetta Excel, mentre un file largo ne contiene meno, e il limite esatto di righe dipende dal tuo numero di colonne. Un file da 10 colonne può contenere circa 2 milioni di righe in Fogli Google, mentre un file da 50 colonne ne contiene circa 400.000.

I programmi di testo non hanno un limite di righe loro, ma solo la memoria del tuo computer, quindi un file CSV grande si apre per intero in Blocco note, TextEdit o VS Code come semplice testo, e puoi cercarlo, leggere le prime e le ultime righe e controllare l'intestazione, anche se non puoi ordinarlo o filtrarlo come un foglio di calcolo. Questo rende un programma di testo lo strumento giusto per ispezionare un file grande e lo strumento sbagliato per analizzarlo. Python e il suo modulo csv non hanno nemmeno loro un limite di righe, ma solo la memoria, e poiché il modulo csv legge una riga alla volta, può contare, filtrare e dividere file molto più grandi di qualsiasi foglio di calcolo, usando quasi nessuna memoria. La strada della banca dati non ha un limite pratico di righe: importa il file CSV in SQLite, Postgres o anche in una banca dati da scrivania, e un milione di righe diventa una piccola tabella.

La regola pratica è abbinare lo strumento al lavoro, non forzare il file dentro lo strumento che hai aperto per caso. Se devi guardare i dati, usa un programma di testo. Se devi filtrarli o dividerli, usa un programma. Se devi analizzarli tutti in una griglia, usa la correzione del modello dati qui sotto, oppure una banca dati. Se ti serve solo un riepilogo, aggrega il file con un programma e apri il piccolo riepilogo in Excel. Il file non è il problema, e il foglio di calcolo non è rotto. Lo scarto è tra un insieme di dati da un milione di righe e una griglia da un milione di righe, e la correzione è smettere di chiedere alla griglia di contenere più di quanto può.

Correzione 1: dividi il file in parti che Excel può aprire

Dividere è la correzione da provare per prima quando ti servono i dati in fogli di lavoro normali, perché è semplice, non serve altro oltre a Python, e ogni parte si apre normalmente in Excel con la sua intestazione intatta. La ricetta è leggere il file una riga alla volta, scrivere al massimo 1.048.575 righe di dati in ogni parte, e ripetere la riga di intestazione in cima a ogni parte, così ogni parte è un file CSV completo da sola. Usa 1.048.575 invece di 1.048.576, perché l'intestazione conta come una riga, e una parte con 1.048.576 righe di dati più l'intestazione supererebbe di nuovo il limite di una riga. Il programma qui sotto fa esattamente questo, usando solo la libreria standard di Python, quindi non c'è niente da installare.

Il programma è stato provato sul file di esempio da 1.200.000 righe della sezione di diagnosi, che pesa 32 MB su disco. Ha prodotto due parti: la prima contiene l'intestazione più 1.048.575 righe di dati, esattamente 1.048.576 righe, e la seconda contiene l'intestazione più le restanti 151.425 righe di dati. Riunire le parti, togliendo l'intestazione ripetuta dalla seconda parte e unendo, ha prodotto un file identico all'originale byte per byte, confermato dal confronto delle impronte dei file, quindi la divisione non perde niente e non cambia niente. Un file da 5 milioni di righe si dividerebbe in cinque parti allo stesso modo, e un file da 10 milioni di righe in dieci, senza un limite superiore oltre allo spazio su disco.

Due dettagli contano quando dividi. Primo, tieni l'intestazione in ogni parte, perché una parte senza intestazione si apre con la prima riga di dati come intestazione, e i nomi delle colonne spariscono. Secondo, non dividere mai il file aprendo in Excel e copiando le righe a mano, perché la copia manuale parte dalla cartella di lavoro troncata e le righe oltre il limite mancano già. Dividi dal file originale su disco, con un programma, prima che Excel lo tocchi. Una volta che le parti esistono, aprile una alla volta, fai il tuo lavoro, e tieni da parte il file originale, perché le parti sono copie di lavoro e l'originale è l'unica copia completa.

Dividi un file CSV grande in parti che Excel può aprire
import csv

LIMIT = 1_048_575  # data rows per chunk (header counts as a row)

with open('big.csv', newline='') as f:
    reader = csv.reader(f)
    header = next(reader)
    chunk = 0
    count = 0
    out = open(f'chunk_{chunk}.csv', 'w', newline='')
    writer = csv.writer(out)
    writer.writerow(header)
    for row in reader:
        if count == LIMIT:
            out.close()
            chunk += 1
            count = 0
            out = open(f'chunk_{chunk}.csv', 'w', newline='')
            writer = csv.writer(out)
            writer.writerow(header)
        writer.writerow(row)
        count += 1
    out.close()

print(f'split into {chunk + 1} chunks')

# Verified on a 1,200,000-row file (32 MB):
# chunk_0.csv = 1,048,576 lines (header + 1,048,575 rows)
# chunk_1.csv = 151,426 lines (header + 151,425 rows)
# Rejoining the chunks (header stripped from chunk 1 onward)
# reproduced the original file byte-identically.

Un altro vantaggio della divisione merita una menzione: le parti sono file indipendenti, quindi puoi dare una parte a un collega, aprire una parte su un computer lento, o elaborare le parti in parallelo, e niente di tutto questo è possibile con un unico file che nessun foglio di calcolo può aprire. Se il file cresce ogni settimana, tieni il programma ed eseguilo su ogni nuova esportazione, invece di dividere a mano ogni volta. E se dividi perché devi inviare i dati da qualche parte, ricorda che le parti sono le copie di lavoro: il file originale è quello da archiviare, e le parti sono quelle da aprire.

Correzione 2: carica tutto il file nel modello dati con Power Query

Dividere funziona quando ti servono fogli di lavoro normali, ma a volte devi analizzare tutto l'insieme di dati in una volta, e per questo Excel ha una seconda porta: il modello dati. Power Query può caricare un file CSV nel modello dati invece che nella griglia, e il modello dati usa la compressione e contiene decine di milioni di righe in memoria, ben oltre il limite di 1.048.576 righe della griglia. Non puoi vedere tutte le righe in un foglio, perché il limite della griglia vale ancora per ciò che viene mostrato, ma puoi costruire tabelle pivot e grafici pivot su tutto l'insieme di dati, e le aggregazioni contano ogni riga, comprese quelle che la griglia non potrebbe mai mostrare. Questa è la correzione giusta quando la domanda è un riepilogo, un totale o una tabella pivot, invece di uno sguardo riga per riga.

I passi, su Excel per Windows, sono volutamente noiosi: apri una cartella di lavoro vuota, vai su Dati, poi Ottieni dati, poi Da file, poi Da testo o CSV, scegli il file, e nell'anteprima scegli Carica in, poi seleziona Crea solo connessione e spunta Aggiungi questi dati al modello dati, invece di caricare in una tabella. Poi costruisci una tabella pivot dal modello dati, e la tabella pivot legge tutto l'insieme di dati. La guida documentata di Microsoft per gli insiemi di dati troppo grandi per la griglia descrive esattamente questa strada, e avvisa anche, di nuovo, di non salvare sopra il file originale, perché la griglia contiene ancora solo le prime righe se carichi in una tabella per errore.

Due avvertenze vanno dette qui, in modo chiaro. La prima è che la strada del modello dati richiede Excel per Windows con Power Query, e Excel per Mac ha un supporto limitato per creare e usare i modelli dati, quindi chi usa Mac potrebbe dover usare Windows, oppure usare la ricetta di divisione. La seconda è che una tabella pivot sul modello dati risponde a domande aggregate, non a domande sulle righe: puoi totalizzare, contare e raggruppare tutto il file, ma non puoi scorrere fino alla riga 3.000.000 in un foglio, perché il foglio si ferma ancora a 1.048.576. Se devi vedere singole righe oltre il limite, dividi il file. Se ti servono totali su tutte, usa il modello dati.

Correzione 3: guarda solo le righe che ti servono

Il più delle volte, nessuno ha davvero bisogno di tutto il milione di righe sullo schermo in una volta. Ti servono le righe di un cliente, di un mese, di una regione o di un codice di errore, e il resto del file è un contorno che non leggerai mai. Filtrare il file prima di aprirlo è più veloce che dividerlo, e produce un piccolo file che si apre normalmente in Excel, senza parti da gestire. Il filtro gira in un programma che legge una riga alla volta, quindi funziona su file di qualsiasi dimensione, e il risultato è un file CSV completo con la sua intestazione, pronto da aprire.

La ricetta qui sotto usa solo la libreria standard di Python, ed è stata provata sullo stesso file di esempio da 1.200.000 righe: tenere solo le righe in cui la colonna total è maggiore di 90 ha prodotto un file da 74.227 righe, con 74.226 righe di dati, in circa due secondi, e la prima riga tenuta è quella che ti aspetti, la riga in cui il totale supera 90 per la prima volta. Cambia la condizione in base alla tua domanda, un intervallo di date, un nome di cliente, un valore di stato, e il risultato è la fetta del file che ti serve davvero. Lo stesso schema funziona per le prime N righe, con un comando head o un contatore che si ferma dopo N righe, e per le ultime N righe, con un comando tail, quando devi solo controllare come finisce un file.

Filtrare risponde anche alla domanda se valga la pena aprire il file. Conta prima le righe che corrispondono alla tua condizione, e se il numero è piccolo, apri il file filtrato. Se il numero resta sopra il limite della griglia, filtra ancora, oppure aggrega: raggruppa il file per mese, per cliente o per stato, e apri il riepilogo, che è di poche centinaia di righe invece di un milione. Un riepilogo è spesso il vero risultato atteso, ed è il file che i tuoi colleghi possono davvero aprire, cosa che vale la pena ricordare quando invii risultati a qualcun altro.

Filtra un file CSV grande e tieni solo le righe che ti servono
import csv

kept = 0
with open('big.csv', newline='') as src, \
     open('filtered.csv', 'w', newline='') as dst:
    reader = csv.DictReader(src)
    writer = csv.DictWriter(dst, fieldnames=reader.fieldnames)
    writer.writeheader()
    for row in reader:
        if int(row['total']) > 90:
            writer.writerow(row)
            kept += 1
print(f'kept {kept} rows')

# Verified on the 1,200,000-row sample file:
# kept 74226 rows -> filtered.csv has 74,227 lines
# First kept row: 91,Customer 91,91
# The script reads one row at a time, so memory stays flat
# no matter how large the file is.

Nota che cosa dimostra il filtro sul file in sé: niente nella ricetta dipende da quanto è grande il file, perché il programma non tiene mai più di una riga in memoria. Questa è la differenza tra uno strumento fatto per i flussi e uno strumento fatto per le griglie. Un foglio di calcolo carica in memoria tutto ciò che mostra in una volta, ed è per questo che ha un limite. Un programma che legge in flusso elabora una riga, la scrive o la scarta, e passa avanti, ed è per questo che non ha un limite pratico. Quando il file è troppo grande per la griglia, prendi prima lo strumento che legge in flusso, e apri nella griglia solo il piccolo risultato.

Correzione 4: usa lo strumento giusto per il lavoro

Se continui a toccare il limite della griglia, la risposta onesta potrebbe essere che un foglio di calcolo è lo strumento sbagliato per l'insieme di dati, e nessuna correzione dentro Excel cambierà questo. Un programma di testo è lo strumento giusto per ispezionare un file grande: apre tutto il file come testo, ti fa cercare un valore, e ti mostra le prime e le ultime righe, senza limite di righe oltre alla memoria. Una banca dati è lo strumento giusto per analizzare un file grande: importa il file CSV in SQLite, che è un unico file sul tuo computer e non richiede un server, e un milione di righe diventa una piccola tabella che puoi interrogare, filtrare e aggregare con SQL, senza nessuna griglia in mezzo.

La scelta tra questi strumenti dipende dalla domanda. Se la domanda è che cosa c'è nel file, usa un programma di testo. Se la domanda è quali righe corrispondono a una condizione, usa un programma di filtro. Se la domanda è un totale o una tabella pivot su tutto il file, usa il modello dati o una banca dati. Se la domanda è un'occhiata una tantum a poche righe, usa head e tail in un terminale. Solo se la domanda è modificare riga per riga un sottoinsieme i dati dovrebbero stare in un foglio di calcolo, e allora solo il sottoinsieme, diviso o filtrato per farlo entrare. Forzare un insieme di dati da un milione di righe dentro una griglia da un milione di righe è lo scarto, non l'insieme di dati.

C'è anche un punto di pianificazione, per chi produce questi file. Se esporti un file CSV ogni settimana e continua a crescere oltre un milione di righe, smetti di esportare tutta la cronologia ogni volta ed esporta solo le nuove righe, oppure solo il riepilogo, oppure dividi l'esportazione per mese alla fonte. L'esportazione che entra in un foglio di calcolo è l'esportazione che la gente può davvero usare, e un'esportazione che nessuno può aprire non è un risultato, per quanto completa sia. Comunica ai destinatari il numero di righe nel nome del file o in una nota di una riga con il file, così nessuno scopre il limite perdendo dati in un salvataggio troncato.

Quattro correzioni che non funzionano

Prima delle correzioni che funzionano, vale la pena togliere di mezzo le quattro correzioni che non funzionano, perché ognuna fa perdere tempo e una di esse distrugge dati. La prima è comprimere il file in un archivio ZIP. La compressione riduce il file su disco, a volte molto, perché il testo CSV si comprime bene, ma nel momento in cui lo estrai o lo importi, i dati grezzi contengono ancora lo stesso numero di righe, ed Excel si ferma ancora a 1.048.576. La compressione cambia lo spazio occupato, non il numero di righe, e il limite della griglia conta le righe, non i megabyte.

La seconda è salvare il file come .xlsx, oppure chiedere a qualcuno di convertirlo per te. Il formato .xlsx ha lo stesso limite di 1.048.576 righe della griglia di un file CSV aperto in Excel, perché il limite appartiene al foglio di lavoro, non al formato del file, quindi convertire il file non cambia niente su quante righe entrano in un foglio. La terza è aprire il file in Fogli Google e sperare che il limite di celle ti salvi. Fogli Google può contenere più righe di Excel quando il file è stretto, perché conta 20 milioni di celle invece delle righe, ma un file largo tocca prima il tetto delle celle, vale anche un tetto di importazione da 100 MB, e un file da 5 milioni di righe supera anche Fogli Google, quindi la correzione funziona solo per file di poco oltre il limite di Excel, non per file davvero grandi.

La quarta è dividere il file a mano dentro Excel, copiando righe in nuovi fogli o in nuove cartelle di lavoro. Questo parte dalla cartella di lavoro troncata, dove le righe oltre il limite mancano già, quindi la copia non potrà mai includerle, e la copia manuale è lenta, soggetta a errori, e limitata alle righe caricate da Excel in primo luogo. Dividi dal file originale su disco con un programma, prima che Excel lo tocchi, come fa la ricetta qui sopra. E la correzione che distrugge attivamente i dati, invece di fallire soltanto, è salvare sopra l'originale dalla cartella di lavoro troncata, che cancella per sempre le righe non caricate, come spiega per intero la guida compagna sul salvataggio.

Cosa significa per i file prodotti dal convertitore di questa pagina

Il convertitore di questa pagina produce esattamente il tipo di file di cui parla questa guida, quindi vale la pena dire chiaro il suo comportamento, verificato sul codice reale invece che supposto. Il motore di conversione è stato eseguito su questa macchina su un campione JSON da 10.000 righe e ha finito in 28 millisecondi, producendo 10.000 righe e 3 colonne, e su un campione da 100.000 righe ha finito in 218 millisecondi, producendo un file CSV da 2,35 MB. Una prova precedente in questa stessa serie ha misurato 100.000 righe in circa 0,4 secondi e 500.000 righe in circa 1,4 secondi di tempo del motore, quindi il convertitore in sé gestisce file grandi con agio, e il collo di bottiglia è il programma che apre il risultato, non la conversione.

Questa distinzione conta, perché decide dove correggere il problema. Se il tuo file convertito non si apre per intero in Excel, la conversione non è fallita e il file non è danneggiato: il file contiene ogni riga, byte per byte, ed Excel ne ha caricate solo le prime 1.048.576. Controlla il numero di righe con la ricetta in cima a questa guida, e se il file supera il limite, dividilo con il programma qui sopra, oppure caricalo con Power Query nel modello dati, oppure filtralo e tieni solo le righe che ti servono. Non convertire di nuovo sperando in un risultato diverso, perché il convertitore produrrà lo stesso file completo, ed Excel lo troncherà allo stesso modo.

Un altro dettaglio del convertitore conta qui. Il file scaricato è semplice UTF-8 senza marca di ordine dei byte, che è la forma più pulita per la maggior parte degli strumenti, e il convertitore ti fa scegliere il delimitatore prima di scaricare. Nessuna delle due scelte influisce in alcun modo sul limite di righe: un file delimitato da punto e virgola si tronca esattamente alla stessa riga di uno delimitato da virgola, e un file UTF-8 si tronca esattamente alla stessa riga di uno con una codifica vecchia. Se il tuo file convertito si apre anche in una sola colonna, oppure mostra caratteri confusi, sono problemi separati con correzioni separate, trattati nelle guide compagne collegate qui sotto, e possono essere corretti nella stessa importazione che gestisce la dimensione. Correggi l'apertura, dividi il file se serve, e non salvare mai sopra il file scaricato da Excel.

Risultato verificato del convertitore su campioni grandi
Engine check, run on this machine (2026-11-09):
10,000 rows -> 28 ms, 3 columns, 226,762 bytes
100,000 rows -> 218 ms, 3 columns, 2.35 MB

Sample output, first rows:
id,name,total
1,Customer 1,1
2,Customer 2,2

Earlier verified timings in this series:
100,000 rows / 10 MB JSON in about 0.4 s
500,000 rows / 25 MB JSON in about 1.4 s engine time

The converter finishes in milliseconds. The file it writes
is complete. Excel is the bottleneck, not the conversion.

Se il file che ti serve è il risultato convertito in sé, ed è troppo grande per Excel, la strada più pulita è spesso tenere il file JSON e convertire di nuovo ogni volta che ti serve un nuovo file CSV, invece di tenere un unico file CSV gigante e dividerlo ogni volta. Il file JSON è la fonte, il file CSV è un'istantanea, e rigenerare dalla fonte è sempre più pulito che riparare un file già passato in un foglio di calcolo. Questa è la stessa abitudine della copia principale che la guida compagna sul salvataggio raccomanda, applicata ai file grandi: tieni la fonte, esporta ciò che ti serve, e dividi o filtra l'esportazione, mai la fonte.

Lista di prevenzione: produci file CSV che la gente può davvero aprire

I limiti di righe sono uno scarto tra chi scrive e chi legge, quindi prevenire significa far dichiarare la dimensione a chi scrive, e far controllare a chi legge prima di fidarsi. Scorri questa lista quando produci o ricevi un file CSV, e la prossima persona che lo toccherà non avrà bisogno di questa guida. Primo, conta le righe prima di inviare un file, e metti il numero nel nome del file o in una nota di una riga con esso, così chi riceve sa prima di aprire se il file entra in un foglio di calcolo. Un file chiamato clienti-2026-11-09-1200000-righe.csv avvisa chi legge; un file chiamato clienti.csv no.

Secondo, dividi alla fonte quando l'esportazione supererà il limite. Se i dati vengono da una banca dati, esporta per mese o per regione, così ogni file entra da solo in una griglia, invece di esportare tutta la cronologia in un unico file che nessuno può aprire. Terzo, tieni i dati di origine, che siano JSON, una banca dati o una cartella di lavoro, così un file troncato o salvato sopra può essere rigenerato in modo pulito invece che riparato. Quarto, non salvare mai sopra un originale da una cartella di lavoro troncata, e controlla ogni file che ricevi in un programma di testo o con un conteggio delle righe prima di lasciare che un foglio di calcolo lo salvi sopra.

Quinto, spiega ai destinatari come aprire il file: una nota di una riga che dice che il file contiene 1,2 milioni di righe e va diviso con il programma di questa guida, oppure caricato con Power Query nel modello dati, previene tutta la categoria di problemi, e non costa niente includerla con il file. La maggior parte delle storie di orrore sui file CSV finisce con qualcuno che scopre troppo tardi che il file troncato era l'unica copia, oppure che un riepilogo era stato calcolato da un insieme di dati parziale. Conta prima, dividi o filtra prima di aprire, e tieni al sicuro l'originale, e un file CSV grande torna a essere un file normale.

Guide correlate

Domande frequenti

Quante righe può aprire Excel da un file CSV?

Al massimo 1.048.576 righe per foglio di lavoro, intestazione compresa, quindi un file con intestazione può contenere al massimo 1.048.575 righe di dati. Il vecchio formato .xls contiene solo 65.536 righe per foglio. Il limite appartiene al foglio di lavoro, non al formato CSV, che non fissa un limite di righe suo, quindi lo stesso file si apre per intero in un programma di testo o in una banca dati.

Perché Excel dice che il mio insieme di dati è troppo grande per la griglia?

Perché il file contiene più righe di quante ne possa mostrare il foglio di lavoro. Excel carica le prime 1.048.576 righe, ti avvisa che l'insieme di dati è troppo grande per la griglia e che salvare farà perdere i dati non caricati, e lascia il resto nel file ma fuori dalla cartella di lavoro. Conta prima le righe con wc -l o con un programma Python, poi dividi il file, caricalo nel modello dati, oppure filtralo e tieni solo le righe che ti servono.

Salvare in Excel un file CSV troppo grande cancella righe?

Sì. Salvare la cartella di lavoro troncata riscrive solo le righe caricate da Excel, quindi le righe oltre 1.048.576 spariscono dal file salvato per sempre. Non salvare mai sopra il file originale da una cartella di lavoro che ti ha avvisato del limite della griglia. Chiudi senza salvare, e recupera le righe mancanti dal file originale, da una copia di sicurezza, dalla cronologia delle versioni di OneDrive, o dal sistema di origine da cui è venuto il file.

Come divido un file CSV grande in file più piccoli?

Usa un programma che legge il file una riga alla volta e scrive al massimo 1.048.575 righe di dati per parte, ripetendo l'intestazione in cima a ogni parte. Il programma Python di questa guida ha diviso un file provato da 1.200.000 righe in due parti, e riunirle ha riprodotto il file originale identico byte per byte. Non dividere mai copiando righe dentro Excel, perché le righe oltre il limite mancano già dalla cartella di lavoro.

Fogli Google può aprire un file CSV che Excel non può aprire?

A volte. Fogli Google conta le celle invece delle righe, con un limite di 20 milioni di celle per foglio di calcolo e un tetto di importazione da 100 MB, quindi un file stretto può contenere più righe di quante ne permetta Excel, mentre un file largo ne contiene meno. Un file da 10 colonne può contenere circa 2 milioni di righe in Fogli Google, mentre un file da 50 colonne ne contiene circa 400.000. Un file da 5 milioni di righe supera anche Fogli Google, quindi per file davvero grandi, dividi il file oppure usa una banca dati.

Power Query può aprire un file CSV con più di 1 milione di righe?

Sì, quando lo carichi nel modello dati invece che nella griglia. In Excel per Windows, usa Dati, poi Ottieni dati, poi Da file, poi Da testo o CSV, e scegli Carica in con Crea solo connessione e Aggiungi questi dati al modello dati. Puoi poi costruire tabelle pivot su tutto l'insieme di dati. La griglia mostra ancora al massimo 1.048.576 righe, e Excel per Mac ha un supporto limitato al modello dati, quindi chi usa Mac potrebbe aver bisogno della ricetta di divisione.

Il convertitore da JSON a CSV di questa pagina gestisce file grandi?

Sì. Il motore di conversione è stato verificato su questa macchina: 10.000 righe convertite in 28 millisecondi e 100.000 righe in 218 millisecondi, e una prova verificata precedente ha misurato 500.000 righe in circa 1,4 secondi di tempo del motore. Il convertitore scrive un file CSV completo con ogni riga. Se il risultato non si apre per intero in Excel, il file è a posto ed Excel è il collo di bottiglia, quindi dividi il file, caricalo nel modello dati, oppure filtralo e tieni solo le righe che ti servono.

Convertilo di nuovo, poi dividilo se Excel non riesce a contenerlo

Incolla il tuo JSON nel convertitore di questa pagina e scarica un file CSV pulito con ogni riga esattamente come scritta. Se il file contiene più di 1.048.575 righe di dati, Excel non può mostrarlo tutto in un foglio, quindi dividilo con il programma di questa guida, oppure caricalo nel modello dati. Nessun caricamento, nessuna registrazione, niente lascia la scheda in cui lavori.

Apri il convertitore da JSON a CSV
Tutte le guide