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
Gegeben sei ein Div mit folgendem Hintergrundbild...
Fügen Sie dem el-form-Formular Regeln hinzu: Defi...
Hintergrund Kürzlich wollte ein Leiter, dass wir ...
Docker ermöglicht die Bereitstellung von Netzwerk...
Vorwort Sass ist eine Erweiterung der CSS3-Sprach...
Ich habe erst vor ein paar Tagen mit der Arbeit b...
Einführung: Ich glaube, dass jeder einige Dokumen...
Inhaltsverzeichnis 01 sql_slave_skip_counter-Para...
Automatische Sicherung der MySQL-Datenbank per Sh...
Installations- und Konfigurationsmethode für MySQ...
1. Projektdokumente 2. Verwenden Sie HTML und CSS...
Vorwort Crond ist ein Tool zur geplanten Ausführu...
CSS-Anzeigeeigenschaft Hinweis: Wenn !DOCTYPE ang...
1. Erstellen Sie den Tomcat-Installationspfad mkd...
Die Lösung für das Problem mit der transparenten S...