[PYTHON] Vorsichtsmaßnahmen beim Öffnen einer anderen als der CP932-Codierung (Shift-JIS) unter Windows

Einführung

Ich bin derzeit ein Anfänger, der maschinelles Lernen lernt. Durch Kopieren des Codes des Vorfahren mit kaggle werde ich den Fehler, der beim Erlernen der Methode und der Lösung aufgetreten ist, als Erinnerung zusammenfassen.

Zusammenfassend versucht Windows standardmäßig, auf CP932 zu konvertieren. Wenn es jedoch nicht in CP932 konvertiert werden kann, tritt eine UnicodeEncodeError-Ausnahme auf, sodass wir die Gegenmaßnahmen zusammengefasst haben.

Referenz-URL https://qiita.com/Yuu94/items/9ffdfcb2c26d6b33792e

https://qiita.com/butada/items/33db39ced989c2ebf644

Umgebung

Windows 10 Home Python 3.7.4.

Probleme und Lösungen


embedding_dict={}
with open('xxxxx.txt','r') as f: 
    for line in f:
        values=line.split()
        word = values[0]
        vectors=np.asarray(values[1:],'float32')
        embedding_dict[word]=vectors
f.close()

UnicodeDecodeError: 'cp932' codec can't decode byte 0x93 in position 5456: illegal multibyte sequence

Kam heraus. Dies bedeutet, dass bei Verwendung einer Windows-Umgebung die Standardeinstellung mit cp932 codiert ist. In diesem Fall wird eine Fehlermeldung angezeigt, wenn Code enthalten ist, der nicht konvertiert werden kann. Der spezifische Code ist diesmal unbekannt, aber es scheint, dass der Code der Person aus Übersee von kaggle kopiert wurde.

Fügen Sie daher dem Programm eine Beschreibung hinzu, damit es in UTF-8 codiert wird.


embedding_dict={}
with open('xxxxx.txt','r',encoding="utf-8") as f:
    for line in f:
        values=line.split()
        word = values[0]
        vectors=np.asarray(values[1:],'float32')
        embedding_dict[word]=vectors
f.close()

Fügen Sie einfach encoding = "utf-8" hinzu, aber das ist die Lösung.

Ich habe erfahren, dass der Fehler selbst ein Windows-spezifisches Problem ist und wie er codiert wurde.

Recommended Posts

Vorsichtsmaßnahmen beim Öffnen einer anderen als der CP932-Codierung (Shift-JIS) unter Windows
Python sucht nach Fehler: unbekannte Codierung: cp65001 unter Windows
[Windows] Das Problem, dass beim Öffnen einer anderen als CP932 (Shift-JIS) in Python codierten Datei ein Fehler auftritt, wurde vorerst behoben.