Il problema dei 3 corpi: Attraverso continenti e decadi, cinque amici geniali fanno scoperte sconvolgenti mentre le leggi della scienza si sgretolano ed emerge una minaccia esistenziale. Vieni a parlarne su TopManga.
 
Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

File con troppe righe per Excel

Ultimo Aggiornamento: 17/06/2017 17:54
Post: 1
Registrato il: 14/06/2017
Città: MILANO
Età: 29
Utente Junior
Excel 2016
OFFLINE
14/06/2017 12:17

Ciao a tutti,

Mi rivolgo a voi perchè ho un problema. Ho diversi file in formato CSV che vorrei elaborare, il problema è che i file sono troppo grossi, arrivano fin oltre al Giga e quindi supero il numero massimo di righe possibili in un solo foglio excel, che è poco più di 1'000'000 di righe.
Ho provato a importare i dati dal file CSV sfruttando più pagine e impostando quindi il trasferimento dei dati nella seconda pagine in modo che parta da una riga scelta da me. Il problema è che mi carica solo altre 4 o 5 righe, che sia un file da 1G o da 500KB quindi qualcosa non torna per forza.

Come posso fare?

Grazie mille a tutti per l'aiuto
Post: 3.897
Registrato il: 13/03/2012
Città: LIVORNO
Età: 78
Utente Master
2010
OFFLINE
14/06/2017 17:44

Re:
dodos95, 14/06/2017 12.17:


Ho provato a importare i dati dal file CSV sfruttando più pagine e impostando quindi il trasferimento dei dati nella seconda pagine in modo che parta da una riga scelta da me.

Come hai provato ? con una macro ? quale ? potresti provare questa, ma credo che sia lenta
Sub ImportCSVFileCommaMultipleSheets() '
    filepath = "F:\Documenti\Excelfile\Macro-VBA\Csv\CommaDelim.txt"
    linenumber = 0
    elementnumber = 0
    maxlines = numero linee per foglio '<<<<<<<<<<<<<<
    Open filepath For Input As #1 ' Open file for input
    Do While Not EOF(1) ' Loop until end of file
       linenumber = linenumber + 1
       If linenumber > maxlines Then
         linenumber = 1
         ActiveWorkbook.Sheets.Add
       End If
       Line Input #1, line
       arrayOfElements = Split(line, ",") ' <<< separatore da modificare
       elementnumber = 0
       For Each element In arrayOfElements
          elementnumber = elementnumber + 1
          Cells(linenumber, elementnumber).Value = element
       Next
    Loop
    Close #1 ' Close file.
End Sub


[Modificato da patel45 14/06/2017 17:52]

----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Post: 1
Registrato il: 14/06/2017
Città: MILANO
Età: 29
Utente Junior
Excel 2016
OFFLINE
16/06/2017 15:47

Nono ho provato con una cosa proprio più terra terra, che le mie conoscenze di informatica sono abbastanza limitate, la scrittura che hai messo te non saprei nemmeno dove metterla eheheh

Io ho provato direttamente al trasferimento dati dal File CSV al foglio excel. Quindi cliccando Dati->Carica dati esterni da testo-> e li cambiando la voce "inizia ad importare dati alla voce" e numero della riga.
Solo che appunto lo faccio la prima volta e non c'è problema partendo dalla numero 1, finisco la pagina per i troppi dati, prendo quindi la riga 1M e qualche cosa, faccio la stessa cosa nel foglio 2 ma variando la riga e li non mi funziona, o meglio mi carica solo le prima 4 righe anche se ne ha altre 5M.

Ora sto utilizzando un programma per dividere in automatico il file in parti più piccole, con file da 1M di righe, così da stare dentro il limite.
Ma sono comunque curioso di sapere se c'è qualche modo diverso per lavorarci sopra
Post: 3.898
Registrato il: 13/03/2012
Città: LIVORNO
Età: 78
Utente Master
2010
OFFLINE
17/06/2017 09:27

il modo è imparare ad usare le macro come quella che ti ho fornito, occorre un po' di impegno, voglia di cercare e imparare.

----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Post: 2
Registrato il: 14/06/2017
Città: MILANO
Età: 29
Utente Junior
Excel 2016
OFFLINE
17/06/2017 17:54

Perfetto, mi ci metto allora, tanto tornerà sicuramente utile.
Molte grazie!
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 07:10. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com