Wie erzwinge ich Latin-1 (was ich glaube, iso-8859-1?) Dateiausgabe in Python?Python: Wie erzwinge ich ISO-8859-1 Dateiausgabe?
Hier ist mein Code im Moment. Es funktioniert, aber der Versuch, die resultierende Ausgabedatei in eine Latin-1-MySQL-Tabelle zu importieren, ergibt weird encoding errors.
outputFile = file("textbase.tab", "w")
for k, v in textData.iteritems():
complete_line = k + '~~~~~' + v + '~~~~~' + " ENDOFTHELINE"
outputFile.write(complete_line)
outputFile.write("\n")
outputFile.close()
Die resultierende Ausgabedatei scheint bekomme ich immer noch seltsame Codierung Probleme in "Western (Mac OS Roman)", aber wenn ich dann speichern Sie es in Latin-1, um gerettet zu werden. Wie kann ich sicherstellen, dass die verwendeten Zeichenfolgen und die Datei selbst alle in Latin-1 codiert sind, sobald sie generiert werden?
Die ursprünglichen Zeichenfolgen (im textData
Wörterbuch) wurden aus einer RTF-Datei analysiert - ich weiß nicht, ob das einen Unterschied macht.
Ich bin ein wenig neu zu Python und Codierung im Allgemeinen, so entschuldigt, wenn dies eine dumme Frage ist. Ich habe versucht, mir die Dokumente anzusehen, bin aber nicht sehr weit gekommen.
Ich benutze Python 2.6.1.
Vielen Dank. Ich habe gerade diesen Code versucht, aber bekomme: "UnicodeDecodeError: 'ascii' Codec kann Byte 0xa3 in Position 753 nicht dekodieren: Ordnungszahl nicht im Bereich (128)". Ich werde jetzt versuchen, sicherzustellen, dass k und v Unicode-Objekte sind, wie oben vorgeschlagen. – AP257