So importieren Sie txt in MySQL unter Linux

So importieren Sie txt in MySQL unter Linux

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: Benutzerdefinierte Klasse zum Herstellen einer Verbindung mit einer MySQL-Datenbank
  • Datei importtxt.py: TXT-Dateien lesen und einfügen
  • dict.txt-Datei: zu bearbeitende TXT-Datei

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:
  • Python-Methode zum Importieren von TXT-Daten in MySQL
  • So importieren Sie SQL-Dateien in Linux (mithilfe der Befehlszeile zum Übertragen einer MySQL-Datenbank)
  • So implementieren Sie Import- und Exportbefehle für MySQL-Datenbanken unter Linux
  • Import und Export von MySQL-Datenbanken im Linux-System
  • Mehrere Möglichkeiten zum einfachen Importieren und Exportieren von MySQL-Datenbanken auf Linux-VPS/-Servern

<<:  Tiefgreifendes Verständnis der MySQL-Selbstverbindung und Join-Assoziation

>>:  Führen Sie die Schritte zur Verwendung des Elements in vue3.0 aus

Artikel empfehlen

Vue implementiert Karussell-Animation

In diesem Artikelbeispiel wird der spezifische Co...

Auszeichnungssprache - Stylesheets drucken

Klicken Sie hier, um zum Abschnitt „HTML-Tutorial“...

Analyse der Gründe, warum MySQL-Felddefinitionen nicht null verwenden sollten

Warum wird NULL so oft verwendet? (1) Javas Null ...

4 Möglichkeiten zur Optimierung von MySQL-Abfragen für Millionen von Daten

Inhaltsverzeichnis 1. Der Grund, warum das Limit ...

Gestaltung von Popup-Fenstern und schwebenden Ebenen im Webdesign

Im Zuge des schrittweisen Übergangs von herkömmli...

Verwendung von „align-content“ im Zeilenumbruchbereich des Flex-Layouts

1. Das in diesem Artikel implementierte Effektdia...

Lösung für Überlauf: versteckter Fehler in CSS

Ursache des Fehlers Als ich heute ein Karussell s...

Detaillierte Erklärung zum Einfügen gängiger Nginx-Befehle in Shell-Skripte

1. Erstellen Sie einen Ordner zum Speichern von N...

Detailliertes Beispiel für MySQL-Datenspeicherprozessparameter

Es gibt drei Typen von MySQL-gespeicherten Prozed...