2 Stimmen

Ein RAM-Fehler eines großen Arrays

Ich muss die Zahlen einer Zeile nach dem Zufallsprinzip abrufen und jede Zeile in ein anderes Array stellen, dann die Zahlen einer Spalte abrufen.

Ich habe eine große Datei, mehr als 400M. In dieser Datei gibt es 13496*13496 Zahlen, also 13496 Zeilen und 13496 Spalten. Ich möchte sie in ein Array einlesen. Dies ist mein Code:

_L1 = [[0 for col in range(13496)] for row in range(13496)]
_L1file = open('distanceCMD.function.txt')
while (i<13496):
    print "i="+str(i)
    _strlf = _L1file.readline()
    _strlf = _strlf.split('\t')
    _strlf = _strlf[:-1]
    _L1[i] = _strlf
    i += 1
_L1file.close()

Und dies ist meine Fehlermeldung:

MemoryError:
File "D:\research\space-function\ART3.py", line 30, in <module>
  _strlf = _strlf.split('\t')

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X