[Python] Algoritmo in CSV

Manuele amicogodzilla a bruttocarattere.org
Ven 3 Set 2010 10:51:30 CEST


On 02/09/2010 14:41, Vittorio Zuccala' wrote:
> Buongiorno,
> chiedo consiglio su un algoritmo da usare che sia veloce.
> Anche solo in meta-codice.
>
> Problema:
> - carico un CSV con 200 colonne e 2 milioni di righe
> - voglio trovare la lunghezza maggiore per ogni campo
>
> Meta-codice
> * apri file csv
> * crea un oggetto csv_reader
> * crea un array "lunghezzamax"
> * leggi riga per riga
> * fai lo split dei campi e metti nell'array "campi"
> * per ogni campo guarda la lunghezza: se lunghezza(campi[i]) >
> lunghezza[i] allora lunghezza[i]=lunghezza(campi[i])

butto lì anche la mia... forse sarebbe meglio delegare il confronto il 
più possibile a funzioni del tipo min max su vettori immagino già di per 
sé ottimizzate. Leggerei quindi tutto il file o porzioni di esso 
memorizzando le colonne in vettori da passare alla funzione min(). 
"Porzioni di" per evitare al limite ingombri eccessivi di memoria 
relegando allora il confronto solo tra minimi delle porzioni già analizzate.

Spero di essere stato chiaro... e utile... perché potrei aver detto robe 
inutili oltreché contorte.

ciao
	Manuele



>
> Ecco: il mio problema è che vengono effettuati 200*2.000.000 di IF e la
> cosa non mi piace molto.
> Qualcuno ha un consiglio per ottimizzare?
>
> Grazie in anticipo.
>
>
>
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python



Maggiori informazioni sulla lista Python