Numpy loadtxt Codierung

Ich versuche, das laden der Daten mit numpy.loadtxt... die Datei, Die ich versuche zu Lesen ist über die cp1252-Kodierung. Gibt es eine Möglichkeit zum ändern der Codierung cp1252 mit numpy?

Den folgenden

import numpy as np
n = 10
myfile = '/path/to/myfile'
mydata = np.loadtxt(myfile, skiprows = n)

gibt:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf6 in position 189: invalid start byte

Die Datei enthält Metadaten (die ersten n Zeilen), gefolgt von einer Tabelle der Schwimmer.

Edit: Das problem tritt nur beim ausführen dieser auf Ubuntu (12.04). Auf Windows funktioniert es auch. Aus diesem Grund denke ich, dass dieses problem mit der Kodierung.

Edit2: öffnen Sie die Datei wie im folgenden gut funktioniert, auch:

import codecs
data = codecs.open(myfile, encoding='cp1252')
datalines = data.readlines()

Aber ich möchte die np.loadtext, um das direkte Einlesen der Daten in ein numpy-array.

  • ox6f im cp1252 ist ö, was macht Ihr input Aussehen?
  • so weit, wie Sie numpy 1.8.1 und n korrekt ist. Es funktioniert.
InformationsquelleAutor suschi | 2014-07-11
Schreibe einen Kommentar