Ich lerne Python, und arbeitet derzeit an das Lesen in einer Datei, die Zeilen aufteilen und dann bestimmte Elemente drucken. Ich habe jedoch Probleme, mich mehrere Male zu teilen. Die Datei an dem ich arbeite hat viele Linien, die diese aussehenSplit in Python und Streifen Whitespace
c0_g1_i1|m.1 gi|74665200|sp|Q9HGP0.1|PVG4_SCHPO 100.00 372 0 0 1 372 1 372 0.0 754
Ich versuche, es zu spalten, die zuerst von Reiter und Newline „/ t/n“, und teilen dann die Elemente mit |, ich habe versucht, .split und .strip und habe nicht viel Glück. Ich dachte, vielleicht, wenn ich nur auf einer einzigen Zeile habe ich nach unten auf die Idee kommen könnte, und es dann in einer Schleife ändern, die die Datei
blast_out = ("c0_g1_i1|m.1 gi|74665200|sp|Q9HGP0.1|PVG4_SCHPO 100.00 372 0 0 1 372 1 372 0.0 754")
fields = blast_out.strip(' \t\r\n').split()
subFields = fields.split("|")
print(fields)
print(subFields)
print (Felder)
['c0_g1_i1|m.1', 'gi|74665200|sp|Q9HGP0.1|PVG4_SCHPO', '100.00', '372', '0', '0', '1', '372', '1', '372', '0.0', '754']
Druck zugreifen würde (Subfelder) erzeugt einen Fehler
subFields = fields.split('|')
AttributeError: 'list' object has no attribute 'split'
Dies ist, was ich tat, nur um zu versuchen, die Leerzeichen abzustreifen und die Reiter, dann auf aufzuspalten | aber es scheint nichts zu tun. Schließlich meine gewünschte Ausgabe von dieser einzigen Zeichenfolge wäre
c0_g1_i1 m.1 Q9HGP0.1 100.0
Die '.strip()' ist redundant, die '.split()' Streifen für Sie. –