Ich habe eine große Matrix in einem gzip, die etwa wie folgt aussieht:Parsen große Datensatz mit Python
locus_1 mark1 0.0,0.0,0.0,0.0,0.0,0.4536,0.8177,0.4929,0.0,0.0
locus_2 mark2 0.0,0.0,0.0,0.0,0.0,0.5536,0.9177,0.2929,0.0,0.0
locus_3 mark2 0.0,0.0,0.1,0.0,0.0,0.9536,0.8177,0.2827,0.0,0.0
So wird jede Zeile beginnt mit zwei Deskriptoren, um 10 Werten.
ich einfach mal die ersten 5 Werte dieser Zeile parsen, so dass ich eine Matrix wie diese:
locus_1 mark1 0.0,0.0,0.0,0.0,0.0
locus_2 mark2 0.0,0.0,0.0,0.0,0.0
locus_3 mark2 0.0,0.0,0.1,0.0,0.0
ich folgenden Python-Skript gemacht habe, dies zu analysieren, aber ohne Erfolg:
import gzip
import numpy as np
inFile = gzip.open('/home/anish/data.gz')
inFile.next()
for line in inFile:
cols = line.strip().replace('nan','0').split('\t')
data = cols[2:]
data = map(float,data)
gfpVals = data[:5]
print '\t'.join(cols[:6]) + '\t' + '\t'.join(map(str,gfpVals))
ich einfach den Fehler:
data = map(float,data)
ValueError: could not convert string to float:
apologies-, dass der Fehler nicht. Der Fehler ist: Daten = Karte (float, Daten) ValueError: ungültiges Literal für float(): –
Wenn Sie dachten, meine Antwort beantwortet Ihre Frage, würde ich es begrüßen, wenn Sie es als die Antwort akzeptiert, so dass diese Frage nicht zu halten erscheint als unbeantwortet. –
[Was sagt Ihnen Ihr Schritt-Debugger?] (Http://stackoverflow.com/questions/25385173/what-isa-debugger-and-how-can-it-help-me-diagnose-problems) –