Ich habe eine CSV-Datei, die ich von der WHO-Website heruntergeladen (http://apps.who.int/gho/data/view.main.52160, Downloads, "Mehrzweck-Tabelle im CSV-Format"). Ich versuche, die Datei in ein numpy Array zu laden. Hier ist mein Code:Lade UTF-8-Datei in Python 3 mit numpy.genfromtxt
import numpy
#U75 - unicode string of max. length 75
world_alcohol = numpy.genfromtxt("xmart.csv", dtype="U75", skip_header=2, delimiter=",")
print(world_alcohol)
Und ich
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 2: ordinal not in range(128).
Ich denke, dass numpy ein Problem hat die Zeichenfolge "Côte d'Ivoire" zu lesen. Die Datei ist richtig codiert UTF-8 (nach meinem Texteditor). Ich benutze Python 3.4.3 und numpy 1.9.2.
Was mache ich falsch? Wie kann ich die Datei in numpy lesen?
Nicht OP, aber danke für den klaren und nützlichen Aufbau der Antwort. – KobeJohn
Vielen Dank für die Antwort. Es klappt! Ich fange gerade mit Python an und finde es komisch, dass numpy UTF-8 nicht sofort auslesen kann. Ich habe gelesen, dass Python leicht zu bedienen ist und einfach zu bedienen ist, aber das Lesen von UTF-8 erfordert zusätzliche Konvertierungen? Ich dachte, wir leben im Jahr 2015. – JustAC0der