perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 28
Click for quality!




11.02.2012 / 20:32

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


Beitragdopplte Daten entfernen
Seitenanfang
Hallo,

Ich arbeite gerade an einem Bioinformatik Projekt und hab erst zum Perl programmieren angefangen.
Ich habe da folgendes Problem:
Ich habe ein .csv file mit ca >2000 Daten

einige Daten sind mehrfach vorhanden und die würde ich gerne raushauen. Das Problem ist aber sehr komplex.
die Liste sieht ungefähr so aus:

1;up;Lamb2;22
2;down;KTR8;3434
3;down;Lamb2;22

ich würde jetzt gerne die die doppelt sind raushauen... wie kann man das angehen
denn die Daten sind nicht immer komplett ident.
Ich will nach der GeneID (die letzte zahl) vergleichen, wenn die gleich ist, die weiteren raushauen...

(Weiteres Ziel wäre es dann auch noch zu schaun wenn "up" steht in eine neue Spalte die Anzahl für up und in eine andere Spalte die Anzahl für "down" speichern)

Für Hilfe wäre ich sehr sehr dankbar, denn ich hab da überhaupt keinen Durchblick!

Gruß backstaia

Datum: 05.12.2005-18:51

Beitragre: dopplte Daten entfernen
Seitenanfang
Tipp:
mit split nahand des ';' aufspalten,
in einen hash mit key 'zahl' eintragen,
wenn erster eintrag ausgeben,
sonst ignorieren


my %seen;
while (my $zeile = <IN>) {
my @arr = split(/;/, $zeile)); # aufspalten
if ($seen{$arr[-1]} { # schonmal gesehen
print STDERR "Doublette $zeile\n";
} else { # neu
$seen{$arr[-1]++; # merken
print $zeile; # ausgeben
}
}

Datum: 28.12.2005-17:52

-






-
-