[PYTHON] Ermitteln und verarbeiten Sie die Codierung der Textdatei automatisch

Um die Kodierung des Textes herauszufinden Es scheint, dass Sie versuchen sollten, von einem Ende aus zu dekodieren und dasjenige zu verwenden, das erfolgreich dekodiert wurde.

python


def conv_encoding(data):
    lookup = ('utf_8', 'euc_jp', 'euc_jis_2004', 'euc_jisx0213',
            'shift_jis', 'shift_jis_2004','shift_jisx0213',
            'iso2022jp', 'iso2022_jp_1', 'iso2022_jp_2', 'iso2022_jp_3',
            'iso2022_jp_ext','latin_1', 'ascii')
    encode = None
    for encoding in lookup:
      try:
        data = data.decode(encoding)
        encode = encoding
        break
      except:
        pass
    if isinstance(data, unicode):
        return data,encode
    else:
        raise LookupError

#Untersuchung zum Lesen und Codieren von Dateien
fp = open(path,'r')
str,encoding = None,None
try:
  str,encoding = conv_encoding(fp.read())
finally:
  fp.close()

#Inhalt bearbeiten
...<Beliebiger Code>


#Schreiben Sie die Datei in der ursprünglichen Codierung
fp = open(path,'w')
try:
  fp.write(str.encode(encoding))
finally:
  fp.close()

Recommended Posts

Ermitteln und verarbeiten Sie die Codierung der Textdatei automatisch
Der Prozess der Installation von Atom und der Ausführung von Python
Holen Sie sich den MIME-Typ in Python und bestimmen Sie das Dateiformat
Der Prozess, Python-Code objektorientiert zu machen und zu verbessern
Verarbeiten Sie den Inhalt der Datei der Reihe nach mit einem Shell-Skript
Die Geschichte von Python und die Geschichte von NaN
Verarbeiten Sie das Ergebnis von% time,% timeit
Die Geschichte des "Lochs" in der Akte
Verarbeiten Sie die mit Redshift entladene gzip-Datei mit Python of Lambda, gzipen Sie sie erneut und laden Sie sie in S3 hoch
Durchsuchen Sie das Verzeichnis und erstellen Sie eine Liste mit Verzeichnispfaden und Dateinamen
[Python-Scraping] Geben Sie die URL und den Titel der Site mit einem bestimmten Schlüsselwort in eine Textdatei ein
Netmiko erkennt automatisch den Typ des Netzwerkgeräts und führt den Befehl aus
Öffnen Sie eine Excel-Datei in Python und färben Sie die Karte von Japan
Dies und das der Einschlussnotation.
Implementieren Sie einen Teil des Prozesses in C ++
Überprüfen Sie die Existenz der Datei mit Python
Überprüfen Sie das Konzept und die Terminologie der Regression
Überprüfen Sie, ob die Schulhomepage automatisch aktualisiert wird
Generiere automatisch Bilder von Koala und Bär
Die Geschichte, deep3d auszuprobieren und zu verlieren
Legen Sie den Prozessnamen des Python-Programms fest
[Python] Ruft den Zeichencode der Datei ab
Fügen Sie dem Bild Linien und Text hinzu
[Python3] Grundlegendes zu Dateivorgängen
Lassen Sie uns mit Python Receive spielen und den Text des Eingabeformulars speichern / anzeigen
Python-Memorandum: Lesen Sie den Text und bearbeiten Sie den Dateinamen, während Sie die Zieldatei kopieren
Über das Verhalten von copy, deepcopy und numpy.copy
Zusammenfassung der Unterschiede zwischen PHP und Python
Vollständiges Verständnis der Konzepte von Bellmanford und Dyxtra
Laden Sie Bilder aus einer Textdatei herunter, die die URL enthält
Die Antwort von "1/2" unterscheidet sich zwischen Python2 und 3
Organisieren Sie die Bedeutung von Methoden, Klassen und Objekten
Angeben des Bereichs von Ruby- und Python-Arrays
Ändern Sie die Farbe von Fabric-Fehlern und Warnungen
Vergleichen Sie die Geschwindigkeit von Python Append und Map
Senden Sie Google Mail am Ende des Vorgangs [Python]
Lassen Sie uns experimentieren und Beweise hinterlassen, um die Spezifikationen zu bestimmen.
Allgemeine Beschreibung des CPUFreq-Kerns und der CPUFreq-Benachrichtigungen
Konvertieren Sie den Zeichencode der Datei mit Python3
Organisieren Sie die grundlegende Verwendung von Autotools und pkg-config
Ich habe die Varianten von UKR gelesen und implementiert
Bestimmen Sie die Anzahl der Klassen mithilfe der Starges-Formel
Berücksichtigung der Stärken und Schwächen von Python
[Python] Bestimmen Sie den Typ der Iris mit SVM
Die schönen und bedauerlichen Teile von Cloud Datalab
Macports easy_install löst die Version automatisch auf und führt sie aus
Rufen Sie das Aktualisierungsdatum der Python-Memorandum-Datei ab.
Wenn eine Datei im freigegebenen Ordner von Raspberry Pi abgelegt wird, wird der Vorgang ausgeführt.
[Python] Ändern Sie die Textfarbe und Hintergrundfarbe eines bestimmten Schlüsselworts in der Druckausgabe
Ich habe versucht, den Text in der Bilddatei mit Tesseract der OCR-Engine zu extrahieren
Lesen Sie die CSV-Datei mit dem Jupiter-Notizbuch und schreiben Sie die Grafik übereinander
Überprüfen Sie die Verarbeitungszeit und die Anzahl der Aufrufe für jeden Prozess mit Python (cProfile).
Speichern Sie den Text aller Evernote-Notizen mit Beautiful Soup und SQL Alchemy in SQLite