Aumenta il limite di dimensioni dell'importazione dei dati da CSV in Excel


12

Ho un sacco di dati in un file CSV che sto importando in Excel, la maggior parte va bene, ma una delle mie colonne contiene fino a 1000 caratteri di dati. Sfortunatamente, Excel si è assunto la responsabilità di assumere che siano più dati di quelli di cui ho bisogno e sembra che li stiano riducendo (a 255 caratteri).

Come posso aumentare questo limite e conservare tutti i miei dati?


Cosa intendi con "Sfortunatamente, Excel si è assunto la responsabilità di supporre che siano più dati di quelli di cui ho bisogno e sembra che li stiano riducendo". non è visualizzato correttamente? cosa succede se metti =LEN(A1)in Excel dove A! è il riferimento al tuo testo?
Peter Albert,

Dice 255, e quando guardo i dati nella casella di immissione della formula si interrompe improvvisamente. Posso visualizzare i dati completi in ufficio aperto, ma non appena incollo per eccellere sembra limitare a 255 caratteri. Il motivo per cui non sto usando open office è perché posso passare come dati o fare un vlookup in questo.
SwiftD,

Excel può gestire testi più lunghi di 255 caratteri. Tuttavia, se la cella è riempita da VBA, è un po 'complicata. Qual è la tua fonte? Come lo ottieni in Excel?
Peter Albert,

Ho un'esportazione CSV da Magento. Se apro in OO ha il testo completo. Se apro in Excel il suo taglio corto. Inoltre viene interrotto quando incollo da OO per eccellere e non riesco più a digitare manualmente nella cella, viene tagliato nello stesso punto non appena esco dalla cella.
SwiftD,

Forse qualcosa non funziona con il CSV? Puoi aggiornare la tua domanda e pubblicare alcune righe? Inoltre, forse le impostazioni del delimitatore e del separatore sulla macchina iniziano a funzionare?
Jan Doggen,

Risposte:


13

C'è un bug strano in Excel. Spiegherò qui come evitarlo (non aggiustarlo, evitarlo) e forse verrà risolto presto dai programmatori di MS Office. Forse è stato anche corretto in Excel 2013, non l'ho ancora aperto.

Quindi, questo è il problema.

La lunghezza massima della cella di testo è 32767 ed è OK.

La lunghezza massima della cella numerica è 255 ed è OK.

Ma se hai una cella che chiama al parser numerico, fallisce e poi chiama al parser di testo, ecco il grande casino.

Per esempio:

...,"This is a cell with 30,000 characters........",...

funzionerà.

Ma se metterai un piccolo svantaggio all'inizio, come in

...,"-This is a cell with 30,000 characters........",...

vedrai solo 255 primi caratteri di testo, perché EXCEL pensa che sia un numero negativo.

Spero che sia d'aiuto.


3
Questo è il bug più strano e più stupido che abbia mai visto nei software commerciali. Mi sta letteralmente facendo impazzire come diavolo puoi pagare per questo tipo di merda.
astrojuanlu,

Ottima spiegazione, grazie. Sfortunatamente, posso confermare che - 3 anni dopo - il bug è ancora presente in Excel 2016 ...
BurninLeo

Bene, @BurninLeo, posso dirti che tre giorni dopo la mia risposta originale, ho fatto una telefonata al Centro per sviluppatori di MS Office e ho dato loro un link a questo argomento per superutente.
khitron23,

Il problema sembra risolto con Excel 365 ProPlus versione 1902.
Carsten Franke,

1

Ho riscontrato questo problema con un file CSV che aveva alcuni campi di testo lunghi che a volte iniziavano con un trattino. Sembra che l'importazione di Excel tenti di elaborare il campo come numero a causa del trattino e l'importazione del numero lo ritaglia a 255 caratteri. Quando fallisce, lo importa come testo, ma solo i primi 255 caratteri.

Per evitare il problema, ho dovuto importare il CSV invece di aprirlo. Nella procedura guidata di importazione, ho selezionato la colonna che aveva problemi e ho cambiato il suo tipo da Generale a Testo. Quindi Excel non tenterà nemmeno di analizzarlo come un numero e ottengo l'intera larghezza della colonna.


0

Innanzitutto, grazie a tutti per il vostro aiuto nel tentativo di risolvere questo problema. Si scopre che Excel può tranquillamente ospitare più di 255 caratteri in una cella (presumibilmente fino a 32.767 come precedentemente menzionato se hai l'ariete per esso.

Quindi perché non ha funzionato?

La risposta breve è non sono sicuro. La prima volta che ho portato i dati in Excel ho esportato come un CSV e poi aperto in Excel. Questo ha ridotto le colonne (a 255). (il file CSV conteneva tutti i dati quando visualizzati tramite Blocco note ma non quando salvati di nuovo tramite Excel).

La colonna in questione conteneva alcuni punti e virgola, ma questo non corrispondeva al punto di interruzione (sempre 255) e non stavo usando; come delimitatore.

La mia soluzione non voleva fare un'esportazione come file xls. Da allora questo è stato salvato con successo come file CSV con i dati completi.

Spero che questo aiuti qualcuno anche se non sono ancora sicuro di quale fosse il problema.


Simple Googling si traduce in molti post nel forum di persone che hanno lo stesso problema; è probabilmente solo un bug nella routine di importazione CSV di Excel.
Marcus Chan,

0

Secondo http://office.microsoft.com/en-us/excel-help/excel-specifications-and-limits-HP010342495.aspx , Excel 2010 supporta solo una larghezza di colonna di 255 caratteri.

Modifica: è questo il problema di cui stai parlando, Webweaver? Formato> Celle> Testo a capo rende visibile il resto dei caratteri?

Modifica: non importa, questa risposta è in qualche modo non correlata al problema attuale (possibilmente correlata in qualche modo, ma non risponde alla domanda)


No, questa è la COLONNA LARGHEZZA. Dalla stessa tabella, il "Numero totale di caratteri che può contenere una cella" è 32.767 caratteri.
Vicky,

@Vicky, non è questo il problema che sta incontrando il richiedente? O ho frainteso la domanda?
Marcus Chan,

@nixda real? si davvero fastidioso. Non posso credere che Excel non possa gestire più i 255 caratteri. C'è un modo per farlo!
SwiftD,

@Marcus Non capisco cosa significhi per larghezza della colonna. Questo non è solo un problema di visualizzazione, i dati non sono lì. Viene interrotto. quando salvo come CSV i dati non sono lì. quando faccio len (cella) il risultato è 255.
SwiftD

@MarcusChan, il numero di caratteri dovrebbe essere limitato a 32767. L'utente sta riscontrando che è limitato a 255. Quello a cui ti riferivi era la larghezza della colonna che ha a che fare con la modalità di visualizzazione della colonna, che non è un problema dell'OP.
Vicky,

0

In generale, questa è una vecchia limitazione che non si applica più alle versioni moderne di Excel (2013 in ogni caso). Tuttavia, se una cartella di lavoro è stata originariamente creata in una versione precedente, gli oggetti cella che sono stati modificati (cioè istanziati con proprietà e attributi particolari) nella versione precedente, apparentemente manterranno la limitazione di 255 caratteri anche se aperti in versioni più recenti di Excel!

Una correzione:

  1. Utilizzando una versione moderna di Excel, in una cella diversa, non utilizzata sul foglio di lavoro, ricreare qualsiasi condizione di formattazione e / o intervallo unito richiesta per la cella problematica.
  2. Assicurarsi che sia impostato sul formato Generale o Testo.
  3. Taglia o copia e incolla la nuova versione ricreata della cella (o intervallo unito) e incollala sulla vecchia versione non valida.
  4. Ora, quando si inseriscono i dati nella cella, il problema non dovrebbe più manifestarsi.

Come WebweaverD ha successivamente pubblicato, ha trovato una soluzione al suo problema di importazione CSV. Inoltre, se le celle vengono popolate tramite VBA, la situazione diventa più complessa, come menzionato da altre risposte. Ma se i dati vengono immessi manualmente o copiati / incollati da un'altra applicazione in una cartella di lavoro legacy, il problema potrebbe essere causato da questo problema di attributo di cella legacy.


0

Ho avuto un problema simile, tutti i miei valori erano in formato (per poter convertire numeri in numeri, testo in testo, ma sono stati tagliati lunghi testi:

...,="Long Text........",...

se metterai a = all'inizio, vedrai solo 255 primi caratteri di testo, perché EXCEL pensa che sia un numero, quindi rimuovi = all'inizio.

Spero che sia d'aiuto.


1
È diverso da quello che qualcun altro potrebbe aver già menzionato in una risposta? Potrebbe essere necessario contrassegnarlo come flag e puoi chiedere a un moderatore di convertirlo in un commento poiché non hai abbastanza rappresentante da fare da solo.
Pimp Juice IT

0

Soluzioni alternative (disponibile in Excel 2016) ...

Opzione A. Ottieni Excel per eseguire la procedura guidata di importazione del testo (usando qualcosa come un'estensione di file .txt o usa l'estensione .xls, accetta l'avviso, seleziona la prima colonna ed esegui Dati => 'Testo in colonne'). Quindi modificare il tipo di colonna da Generale a Testo vicino alla fine della procedura guidata.

Opzione B. Usa Ottieni e trasforma. Dati => Nuova query => Da file => Da CSV.


Valuta di aggiungere qualche riferimento a questa risposta a supporto di ciò che affermi.
Pimp Juice IT
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.