Vorwort Als ich gestern ein kleines Projekt schrieb, stieß ich auf eine Anforderung: die Daten eines TXT-Dokuments in eine MySQL-Datenbank importieren. Zuerst wollte ich Mysql Workbench verwenden, um die TXT-Datei direkt zu importieren, aber am Ende stellte ich fest, dass es den TXT-Import nicht unterstützte. Daher konvertierte ich die TXT-Datei in Excel und als ich sie unter Linux importierte, stieß ich auf verschiedene Probleme mit verstümmeltem Code. Getreu dem Grundsatz, dass es nichts gibt, was ein Programmierer nicht kann, habe ich einen Python-Code geschrieben, um die Datei direkt für den Import zu bearbeiten. Das Ergebnis ist eine Datei mit über 10.000 Datensätzen und die Importzeit beträgt etwa zwei Minuten. Hier ist der spezifische Code:
mysqlpython.py-Datei vom pymysql-Import * Klasse Mysqlpython: def __init__(selbst,Datenbank,Host="localhost", Benutzer="root",Passwort="123456", Zeichensatz="utf8",Port=3306): self.database = Datenbank selbst.host = Host self.user = Benutzer self.password = Passwort self.charset = Zeichensatz self.port = Port # Datenverbindung und Cursorobjekt erstellen def open(self): self.db = verbinden(Host=self.host, Benutzer=selbst.Benutzer, Passwort=Selbstpasswort, port=selbst.port, Datenbank=selbst.Datenbank, Zeichensatz = selbst.Zeichensatz) self.cur = self.db.cursor() # Schließen Sie das Cursorobjekt und das Datenbankverbindungsobjekt def close(self): selbst.cur.schließen() self.db.schließen() # SQL-Befehl ausführen def zhixing(self,sql,L=[]): selbst.öffnen() selbst.cur.execute(sql,L) selbst.db.commit() selbst.schließen() # Abfragefunktion def all(self,sql,L=[]): selbst.öffnen() selbst.cur.execute(sql,L) Ergebnis = self.cur.fetchall() Ergebnis zurückgeben wenn __name__ == "__main__": sqlh = Mysqlpython("Wörterbuch") sel = "* vom Benutzer auswählen" r = sqlh.alles(sel) drucken(r) Datei importtxt.py erneut importieren System importieren von mysqlpython importiere Mysqlpython sqlh = Mysqlpython("Wörterbuch") def einfügen(Daten): arr = daten.split() Name = arr[0] Beschreibung = " ".join(arr[1:]) ins = "in Wörter (Name, Beschreibung) Werte (%s, %s) einfügen" sqlh.zhixing(ins,[Name,Beschreibung]) def get_addr(): f = öffnen('./dict.txt') Zeilen = f.readlines() für Zeile in Zeilen: einfügen(Zeile) f.schließen() zurückkehren '' wenn __name__ == '__main__': drucken(get_addr()) dict.py-Datei (ich habe mehrere Dateien kopiert) eine unbestimmte Kunst Abakus n. Rahmen mit Perlen, die entlang paralleler Stäbe gleiten, wird verwendet, um Kindern das Zahlenspiel beizubringen und (in manchen Ländern) zum Zählen aufgeben v. von (einer Person, Sache oder einem Ort) weggehen, ohne die Absicht zurückzukehren; im Stich lassen; verlassen Abbruch n. Abbruch erniedrigen v. sich/jdn in der Würde herabsetzen; sich/jdn erniedrigen; beschämen, die Selbstbeherrschung oder das Selbstvertrauen zerstören: aus der Fassung bringen beschämt Adj. ~ verlegen; beschämt abate v. weniger machen oder werden Abattoir n. = Schlachthof (Schlachtung) Ändern Sie einfach den regulären Ausdruck, damit er mit anderen Trennzeichen übereinstimmt. Alle Codes werden hier eingefügt. Sie können die Datenbankkonfiguration einfach kopieren, ändern und ausführen. Zusammenfassen: Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Das könnte Sie auch interessieren:
|
<<: Tiefgreifendes Verständnis der MySQL-Selbstverbindung und Join-Assoziation
>>: Führen Sie die Schritte zur Verwendung des Elements in vue3.0 aus
Deaktivieren Sie SeLinux setenforce 0 Dauerhaft g...
CSS3 implementiert einen umdrehbaren Hover-Effekt...
Frage: Als ich kürzlich an Projektstatistiken arb...
Installieren Sie zuerst postcss-pxtorem: npm inst...
Inhaltsverzeichnis Vorwort Installieren Sie vue-i...
Inhaltsverzeichnis 1. Wie wird die aktuelle Uhrze...
1. Befehlseinführung Der Befehl usermod (user mod...
Inhaltsverzeichnis Verstehen Sie das Kernkonzept ...
Dieser Artikel veranschaulicht anhand von Beispie...
Heute stellt dieser Artikel Anfängern einige grun...
mysql bereinigt Binlog-Protokolle korrekt Vorwort...
Inhaltsverzeichnis 1. Problemerkennung 2. Detaill...
Der Autor dieses Artikels @子木yoyo hat ihn in seine...
1. CSS realisiert eine feste Breite links und ein...
Inhaltsverzeichnis Vorwort Browser kompilierte Ve...