Nehmen wir an, dass ich schreiben und dann in einer CSV in Python eine Liste von Strings mit polnischen Wörter lesen 3.6:Schreiben/Lesen von Sonderzeichen aus CSV (Python 3.6)
lista=['szczęśliwy','jabłko','słoń','kot']
Da es nicht möglich ist, Unicode Zeichen in der CSV zu schreiben, kodieren ich die Saiten zu utf-8, so Daten wie diese in der Datei (alle innerhalb der ersten CSV-Zelle) gespeichert werden:
b'szcz\xc4\x99\xc5\x9bliwy',b'jab\xc5\x82ko',b's\xc5\x82o\xc5\x84',b'kot'
Aber ich Ich kann die Daten nicht entschlüsseln m die output.csv Datei mit diesem Code:
with open('output.csv') as csvarchive:
entrada = csv.reader(csvarchive)
for reg in entrada:
lista2=reg
print(lista2)
["b'szcz\\xc4\\x99\\xc5\\x9bliwy'", "b'jab\\xc5\\x82ko'", "b's\\xc5\\x82o\\xc5\\x84'", "b'kot'"]
lista2
ist noch eine Liste von Strings, aber mit der utf-8 Kodifizierung und ich bin nicht in der Lage, die Sonderzeichen zu erholen.
Ich versuchte verschiedene Dinge wie das Lesen der Datei in 'rb'
Modus, Codierung und Decodierung wieder ... Aber da ich neu in diesen Angelegenheiten bin, habe ich es nicht geschafft. Es muss eine sehr einfache Lösung haben.
Macht es einen Unterschied, wenn Sie die Codierung explizit im 'open'-Aufruf angeben? ZB 'open ('output.csv', encoding = 'utf8')'? –
* "Da ist es nicht möglich, Unicode-Zeichen in der .csv zu schreiben" * Das ist Blödsinn. Wer hat dir das gesagt? – Tomalak
@Tomalak Wie speichern Sie Unicode-Objekte in einer Datei, ohne sie zu kodieren? –