Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie reguläre Python-Ausdrücke für die Verarbeitung großer Datenmengen

So verwenden Sie reguläre Python-Ausdrücke für die Verarbeitung großer Datenmengen

王林
王林Original
2023-06-23 10:03:36879Durchsuche

Beim Datenverarbeitungsprozess müssen wir manchmal große Datenmengen filtern und bereinigen. Zu diesem Zeitpunkt kann die Verwendung der regulären Ausdrücke von Python die Effizienz der Datenverarbeitung erheblich verbessern. Im Folgenden wird die Verwendung regulärer Python-Ausdrücke für die Verarbeitung großer Datenmengen vorgestellt.

  1. Daten vorbereiten

Zuerst müssen Sie Daten vorbereiten, die verarbeitet werden müssen, beispielsweise einen Datensatz mit 500.000 Mandarin-Texten. Dieser Datensatz kann aus dem Internet bezogen oder selbst erstellt werden.

  1. Re-Modul importieren

Bevor Sie reguläre Python-Ausdrücke verwenden, müssen Sie das in Python integrierte Re-Modul importieren. Dieses Modul bietet viele häufig verwendete Funktionen und Methoden für reguläre Ausdrücke.

import re
  1. Einführung in die Syntax regulärer Ausdrücke

Regulärer Ausdruck ist ein Ausdruck, der zum Abgleichen von Zeichenfolgen verwendet wird. Seine Syntax ist relativ komplex, aber nach der Beherrschung der häufig verwendeten Syntax verbessert er die Effizienz der Datenverarbeitung erheblich.

3.1. Ausdrücke

Die grundlegende Syntax regulärer Ausdrücke ist ein Ausdruck, der aus einer Reihe von Zeichen und Metazeichen besteht. Unter diesen stellt das Zeichen ein Zeichen in der passenden Zeichenfolge dar und das Metazeichen stellt einen bestimmten Zeichentyp dar.

3.2. Metazeichen

Metazeichen werden in Einzelzeichen-Metazeichen und kombinierte Zeichen-Metazeichen unterteilt.

Zu den Einzelzeichen-Metazeichen gehören:

  • .: entspricht jedem Zeichen (außer Zeilenumbruch).
  • w: Entspricht jedem Buchstaben, jeder Zahl oder jedem Unterstrich.
  • d: Entspricht einer beliebigen Zahl.
  • s: Entspricht jedem Leerzeichen (einschließlich Leerzeichen, Tabulator, Zeilenumbruch usw.).
  • W: Entspricht allen Zeichen, die keine Buchstaben, Zahlen oder Unterstriche sind.
  • D: Entspricht einem beliebigen nicht numerischen Zeichen.
  • S: Entspricht jedem Zeichen, das kein Leerzeichen ist.

Zu den kombinierenden Zeichen-Metazeichen gehören:

  • []: Entspricht jedem Zeichen innerhalb der eckigen Klammern.
  • -: stellt einen Bindestrich dar, der zur Darstellung eines Bereichs verwendet wird, z. B. [0-9], um jedem numerischen Zeichen zu entsprechen.
  • ^: bedeutet nicht, wird verwendet, um nicht übereinstimmende Zeichen anzuzeigen, z. B. 1 bedeutet, dass alle nicht-kleingeschriebenen alphabetischen Zeichen übereinstimmen.
  • |: bedeutet oder, wird verwendet, um mehrere reguläre Ausdrücke abzugleichen, z. B. a|b bedeutet, dass Zeichen a oder Zeichen b übereinstimmen.

3.3. Quantifizierer

Quantifizierer werden verwendet, um die Anzahl übereinstimmender Zeichen auszudrücken:

  • *: steht für ein beliebiges Zeichen, das 0 oder mehr entspricht.
  • +: stellt ein beliebiges Zeichen dar, passt zu einem oder mehreren.
  • ?: Zeigt ein beliebiges Zeichen an, das mit 0 oder 1 übereinstimmt.
  • {}: Gibt ein beliebiges Zeichen an und entspricht der angegebenen Zahl. Beispielsweise bedeutet {3,5}, dass 3 bis 5 Zeichen übereinstimmen.
  1. Reguläre Ausdrücke für die Datenverarbeitung verwenden

Nachdem wir oben die Syntax regulärer Ausdrücke eingeführt haben, können wir damit beginnen, reguläre Ausdrücke für die Datenverarbeitung zu verwenden. Im Folgenden wird anhand eines einfachen Beispiels gezeigt, wie reguläre Ausdrücke für die Datenverarbeitung verwendet werden.

4.1. Daten lesen

Zuerst müssen Sie die Daten einlesen. Hier können Sie die in Python integrierte Öffnungsfunktion zum Lesen verwenden oder die Bibliothek Pandas von Drittanbietern zum Lesen verwenden.

# 使用pandas读取数据
import pandas as pd

data = pd.read_csv('data.csv', encoding='utf-8')

4.2. Verwenden Sie reguläre Ausdrücke zur Datenbereinigung

Angenommen, Sie müssen jetzt die Mobiltelefonnummern in den Daten filtern und die gefilterten Daten in einer neuen Datei speichern. In diesem Beispiel gehen wir davon aus, dass die Mobiltelefonnummer 11 Ziffern hat.

In der obigen Syntax für reguläre Ausdrücke bedeutet d, dass eine beliebige Zahl abgeglichen werden muss, und {11} bedeutet, dass 11 solcher Zahlen abgeglichen werden müssen. Der vollständige reguläre Ausdruck kann also wie folgt geschrieben werden:

regexp = r'd{11}'

Dann können wir das Re-Modul von Python verwenden, um die Daten zu filtern und zu bereinigen. Zuerst die Daten in den Speicher einlesen und dann reguläre Ausdrücke zum Abgleichen und Extrahieren verwenden.

import re

with open('data.csv', encoding='utf-8') as f:
    lines = f.readlines()
# 使用正则表达式进行数据清洗
result = []
regexp = r'd{11}'
for line in lines:
    match_obj = re.search(regexp, line)
    # 如果匹配成功,则把匹配的内容加入到result
    if match_obj:
        result.append(match_obj.group(0))

# 把结果写入到文件中
with open('result.txt', 'w', encoding='utf-8') as f:
    f.write('
'.join(result))

Mit dem obigen Code haben wir erfolgreich reguläre Ausdrücke verwendet, um alle Mobiltelefonnummern abzugleichen, und sie in der Datei result.txt gespeichert.

  1. Zusammenfassung

In diesem Artikel haben wir vorgestellt, wie man reguläre Python-Ausdrücke für die Verarbeitung großer Datenmengen verwendet. Das integrierte re-Modul von Python bietet viele häufig verwendete Funktionen und Methoden für reguläre Ausdrücke. Durch die Beherrschung der Syntax regulärer Ausdrücke können wir Datenfilterung, Bereinigung und andere Vorgänge bei der Verarbeitung großer Datenmengen schnell und effizient durchführen.


  1. a-z

Das obige ist der detaillierte Inhalt vonSo verwenden Sie reguläre Python-Ausdrücke für die Verarbeitung großer Datenmengen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn