Öffne eine Datei in der richtigen Kodierung automatisch [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Wie bestimme ich die Kodierung von Text? 8 answers

Ich beschäftige mich mit einigen Problemen in ein paar Dateien über die Kodierung. Wir erhalten Dateien von einem anderen Unternehmen und müssen sie lesen (die Dateien haben das CSV-Format)

Seltsamerweise scheinen die Dateien in UTF-16 codiert zu sein. Ich schaffe das, aber ich muss sie mit dem @ öffncodecs -Modul und Angabe der Codierung auf diese Weise.

ENCODING = 'utf-16'
with codecs.open(test_file, encoding=ENCODING) as csv_file:
    # Autodetect dialect
    dialect = csv.Sniffer().sniff(descriptor.read(1024))
    descriptor.seek(0)
    input_file = csv.reader(descriptor, dialect=dialect)

    for line in input_file:
       do_funny_things()

Aber genau wie ich den Dialekt auf agnostischere Weise verstehen kann, denke ich, dass es eine großartige Möglichkeit ist, die Dateien automatisch mit der richtigen Codierung zu öffnen, zumindest alle Textdateien. Es gibt andere Programme wie vim, die das erreichen.

Weiß jemand, wie man das in Python 2.6 macht?

PD: Ich hoffe, dass dies in Python 3 behoben wird, da alle Zeichenfolgen Unicode sind ...

Antworten auf die Frage(4)

Ihre Antwort auf die Frage