Ich versuche, die folgenden Daten in mein Programm zu lesen.ValueError Erwartet 2 Got 1 Python
Distance (m) Mass (kg)
0.0865 0.1
0.1015 0.15
0.4416 0.9
0.4304 0.95
0.437 1.0
Ich verwende den folgenden Code, der direkt aus dem Buch ist.
def getData(fileName):
dataFile = open(fileName, 'r')
distances = []
masses = []
discardHeader = dataFile.readline()
for line in dataFile:
d, m = line.split(' ')
distances.append(float(d))
masses.append(float(m))
dataFile.close()
return (masses, distances)
Der Code konsequent zurück:
ValueError: not enough values to unpack (expected 2, got 1)
Ich habe in anderen Valueerror Einträge sah, hier und auf der Bahn, die auf das Lesen durch Leerzeichen getrennte Daten in ein Programm betreffen, haben aber noch finde einen mit einem im Wesentlichen ähnlichen Problem.
Ich vermute, dass das Problem die Linie d, m = line.split(' ')
ist. Ich bin mir nicht sicher, wie das heißt (zusammengesetzte Zuweisung? Tupel Zuweisung?), Warum es nicht funktioniert (ich habe es noch nie so versucht, aber es scheint vernünftig), oder wie es funktioniert. Wenn jemand, der sich auf diese Weise mit dem Lesen einer Datei befasst hat, etwas Licht in die Situation bringen könnte, würde dies sehr geschätzt werden.
In einer der Zeilen in Ihrer Datei ist kein Platz. – TigerhawkT3
Versuchen Sie, am Anfang Ihrer Schleife 'print (line)' hinzuzufügen, um zu sehen, in welcher Zeile ein Fehler auftritt. –
Ich vermute, die "letzte" Zeile endet mit einem Zeilenvorschub. – TigerhawkT3