Ich habe Textdateien mit einer Größe von über 100 MB und sie haben viele Sonderzeichen. Ich kann sie nicht in mein DBMS importieren, da PostgreSql diese Zeichen nicht erkennt. Wie kann ich sie entfernen? Welche Software macht das?
Ich verwende derzeit EmEditor, muss aber Sonderzeichen manuell finden und alle ersetzen. Es gibt Tonnen von ihnen. Über 10k. Ich bin auf Windows.
Ein sehr einfaches Python - Skript oder sogar eine interaktive Terminal-/Befehlszeilensitzung könnte aus einer Eingabedatei lesen und in eine Ausgabedatei schreiben, während die Codierung in ASCII geändert wird - Sie hätten die Wahl, was Sie mit den nicht konformen Zeichen von tun möchten :
?
ꀀ
\\ua000
\\N{YI SYLLABLE IT}
wo Namen verfügbar sind.Der Code in Python 3 wäre etwa ungetestet :
with open('somefilename') as infile: # You may need to add 'rb' to the open command
with open('outname', 'wt') as outfile: # You may need to use 'wb' here
outfile.write(infile.read().encode('ascii', 'backslashreplace'))
Der obige Code liest die Eingabedatei, transkodiert sie und schreibt sie aus - Sie könnten für große Dateien auch eine maximale Puffergröße in der read
Methode angeben.
Weitere Einzelheiten finden Sie unter https://docs.python.org/3/howto/unicode.html .
Python ist kostenlos, kostenlos und Open Source und für nahezu jede Plattform verfügbar. Es ist auf den meisten Nicht-Windows-Plattformen vorinstalliert .
Installieren Sie den CudaText- Editor.
Plugin-Text:
from cudatext import *
class Command:
def run(self):
s=ed.get_text_all()
for i in range(32):
if not i in [10,13,9]:
s=s.replace(chr(i), '')
ed.set_text_all(s)
Jonas Stein