UTF8-Textverarbeitung mit Python

Die python2.x-Reihe ist verwirrend, da das str-Objekt und das Unicode-Objekt getrennt sind. Nachdem ich verschiedene Dinge recherchiert hatte, wurde es so. In der python3.x-Serie wird der Text als Unicode verarbeitet, daher scheint es einfacher zu sein.

MacOS X 10.6.8 Python 2.6.1

python


# coding: UTF-8

import codecs
import string
import re

f_in  = codecs.open('test.txt', 'r', 'utf-8')
f_out = codecs.open('test_out.txt', 'w', 'utf-8')

lines = f_in.readlines() #Lesen
lines2 = []
for line in lines:
	line = string.replace(line,u'Text',u'text') #Text置換
	line = re.sub(r'(\d)(?=(\d{3})+(?!\d))', r'\1', line) #Ersatz für reguläre Ausdrücke
	lines2.append(line) #Erstellen Sie eine separate Liste
else:
	f_out.write(string.join(lines2,'')) #Schreiben
	f_in.close()
	f_out.close()

test.txt


Dies ist Beispieltext.
Fügen Sie alle 3 Ziffern ein Komma ein.
iPad mini 36800 Yen

test_out.txt


Dies ist ein Beispieltext.
Fügen Sie alle 3 Ziffern ein Komma ein.
iPad mini 36,800 Yen

Nachtrag: Ich habe Code geschrieben, der mit Python3.3 funktioniert. Schließlich verwendet Python3 auch das Codecs-Modul: Wird das Ersetzen durch eine Funktion des str-Objekts durchgeführt und wird einfach kein u '' - Literal verwendet?

python


from __future__ import unicode_literals

Wenn Sie hinzufügen, werden alle Zeichenfolgen als Unicode behandelt, auch wenn kein u '' - Literal vorhanden ist. Es funktioniert normal mit Python2.6. Das könnte im Moment das Beste sein.

python


# coding: UTF-8
from __future__ import unicode_literals # <-Behandle alle Zeichenketten als Unicode. Nicht erforderlich für 3er
import codecs
import re

f_in  = codecs.open('test.txt', 'r', 'utf-8')
f_out = codecs.open('test_out.txt', 'w', 'utf-8')

lines = f_in.readlines() #Lesen
lines2 = []
for line in lines:
    line = line.replace('Text','text') #Text置換
    line = re.sub(r'(\d)(?=(\d{3})+(?!\d))', r'\1,', line) #Ersatz für reguläre Ausdrücke
    lines2.append(line) #Erstellen Sie eine separate Liste
else:
    f_out.write(''.join(lines2)) #Schreiben
    f_in.close()

Recommended Posts

UTF8-Textverarbeitung mit Python
Textverarbeitung mit Python
Clustertext in Python
Dateiverarbeitung in Python
Multithread-Verarbeitung in Python
Verarbeitung in Python beenden
Asynchrone Verarbeitung (Threading) in Python
Sprechen mit Python [Text zu Sprache]
Bildverarbeitungssammlung in Python
Verwenden des Python-Modus in der Verarbeitung
Signalverarbeitung in Python (1): Fourier-Transformation
GOTO in Python mit erhabenem Text 3
100 Sprachverarbeitung Knock Kapitel 1 in Python
Öffnen Sie UTF-8 mit Stückliste in Python
Extrahieren Sie mit Python Text aus Bildern
Sortieren Sie große Textdateien in Python
Lesen und Schreiben von Text in Python
Quadtree in Python --2
CURL in Python
Metaprogrammierung mit Python
Python 3.3 mit Anaconda
Geokodierung in Python
SendKeys in Python
Python-Bildverarbeitung
Metaanalyse in Python
Unittest in Python
So setzen Sie die Standardcodierung in Python auf utf-8
Epoche in Python
Zwietracht in Python
Deutsch in Python
DCI in Python
Python-Dateiverarbeitung
Quicksort in Python
nCr in Python
N-Gramm in Python
Programmieren mit Python
Plink in Python
Konstante in Python
FizzBuzz in Python
SQLite in Python
Schritt AIC in Python
Verarbeiten Sie Bilder in Python ganz einfach mit Pillow
LINE-Bot [0] in Python
CSV in Python
Reverse Assembler mit Python
Reflexion in Python
Konstante in Python
nCr in Python.
Format in Python
Scons in Python 3
Versuchen Sie, Ihr Tagebuch mit Python zu durchsuchen
Puyopuyo in Python
Python in Virtualenv
PPAP in Python
Quad-Tree in Python
Doppelte Verbotsverarbeitung im GAE / Python-Datenspeicher
Reflexion in Python
Chemie mit Python
Hashbar in Python