[Python] split di file di grandi dimensioni

Giovanni Marco Dall'Olio dalloliogm a gmail.com
Ven 4 Dic 2009 12:52:11 CET


2009/12/4 Ernesto <e.picardi a unical.it>:

> import os
> f=open(infile)
> for i in f:
>        l=(i.strip()).split("\t")
>        out=open(l[2]+".txt","a")
>        out.write(i)
>        out.close()
> f.close()
>

Scusami, ma io questo lo farei con gawk (sempre che tu sia su un sistema unix)

$: gawk '{print $0 > "output_"$3".txt"}' input.txt

Per esperienza, i tool unix sono molto piu' veloci di quanto tu possa
fare in python (beh, sono scritti in C o C++)


> Lanciato su un file di 15GB il tempo necessario per completare il
> tutto č superiore ai 2 giorni.
> C'č un modo per velocizzare il processo?
>
> Grazie,
>
> Ernesto
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python
>



-- 
Giovanni Dall'Olio, phd student
Department of Biologia Evolutiva at CEXS-UPF (Barcelona, Spain)

My blog on bioinformatics: http://bioinfoblog.it


Maggiori informazioni sulla lista Python