Maison  >  Article  >  développement back-end  >  Comment utiliser les expressions régulières Python pour le traitement du Big Data

Comment utiliser les expressions régulières Python pour le traitement du Big Data

王林
王林original
2023-06-23 10:03:36917parcourir

Dans le processus de traitement des données, nous devons parfois filtrer et nettoyer une grande quantité de données. À l'heure actuelle, l'utilisation des expressions régulières de Python peut considérablement améliorer l'efficacité du traitement des données. Ce qui suit explique comment utiliser les expressions régulières Python pour le traitement du Big Data.

  1. Préparer les données

Vous devez d'abord préparer les données qui doivent être traitées, comme un ensemble de données contenant 500 000 textes en mandarin. Cet ensemble de données peut être obtenu sur Internet ou créé par vous-même.

  1. Importer le module re

Avant d'utiliser les expressions régulières Python, vous devez importer le module re intégré de Python. Ce module fournit de nombreuses fonctions et méthodes liées aux expressions régulières couramment utilisées.

import re
  1. Introduction à la syntaxe des expressions régulières

L'expression régulière est une expression utilisée pour faire correspondre des chaînes. Sa syntaxe est relativement complexe, mais après avoir maîtrisé la syntaxe couramment utilisée, elle améliore considérablement l'efficacité du traitement des données.

3.1. Expressions

La syntaxe de base des expressions régulières est une expression composée d'une série de caractères et de métacaractères. Parmi eux, le caractère représente un caractère dans la chaîne correspondante et le métacaractère représente un certain type de caractère.

3.2. Métacaractères

Les métacaractères sont divisés en métacaractères à caractère unique et en métacaractères à caractère combiné.

Les métacaractères à caractère unique incluent :

  • . : correspond à n'importe quel caractère (sauf la nouvelle ligne).
  • w : Faites correspondre n'importe quelle lettre, chiffre ou trait de soulignement.
  • d : faites correspondre n'importe quel numéro.
  • s : fait correspondre n'importe quel caractère d'espacement (y compris l'espace, la tabulation, la nouvelle ligne, etc.).
  • W : fait correspondre n'importe quel caractère autre qu'une lettre, un chiffre ou un trait de soulignement.
  • D : fait correspondre n'importe quel caractère non numérique.
  • S : fait correspondre n'importe quel caractère autre qu'un espace.

La combinaison de métacaractères de caractères inclut :

  • [] : correspond à n'importe quel caractère entre crochets.
  • - : représente un trait d'union, utilisé pour représenter une plage, telle que [0-9] pour correspondre à n'importe quel caractère numérique.
  • ^ : signifie non, utilisé pour indiquer des caractères sans correspondance, tels que 1 signifie correspondre à tout caractère alphabétique non minuscule.
  • | : signifie ou, utilisé pour correspondre à plusieurs expressions régulières, telles que a|b signifie correspondre au caractère a ou au caractère b.

3.3. Quantificateurs

Les quantificateurs sont utilisés pour exprimer le nombre de caractères correspondants. Les quantificateurs couramment utilisés sont les suivants :

  • * : représente n'importe quel caractère correspondant à 0 ou plus.
  • + : représente n'importe quel personnage, correspond à 1 ou plus.
  • ? : Indique n'importe quel caractère, correspondant à 0 ou 1.
  • {} : indique n'importe quel caractère et correspond au nombre spécifié. Par exemple, {3,5} signifie correspondre à 3 à 5 caractères.
  1. Utiliser des expressions régulières pour le traitement des données

Après avoir introduit la syntaxe des expressions régulières ci-dessus, nous pouvons commencer à utiliser des expressions régulières pour le traitement des données. Ce qui suit prendra un exemple simple pour montrer comment utiliser les expressions régulières pour le traitement des données.

4.1. Lecture des données

Vous devez d'abord lire les données. Ici, vous pouvez choisir d'utiliser la fonction open intégrée de Python pour lire, ou vous pouvez utiliser la bibliothèque tierce pandas pour lire.

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

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

4.2. Utilisez des expressions régulières pour le nettoyage des données

Supposons que vous deviez maintenant filtrer les numéros de téléphone mobile dans les données et enregistrer les données filtrées dans un nouveau fichier. Dans cet exemple, nous supposons que le numéro de téléphone mobile comporte 11 chiffres.

Dans la syntaxe de l'expression régulière ci-dessus, d signifie correspondre à n'importe quel nombre, et {11} signifie que 11 de ces nombres doivent correspondre. Ainsi, l'expression régulière complète peut être écrite comme suit :

regexp = r'd{11}'

Ensuite, nous pouvons utiliser le module re de Python pour filtrer et nettoyer les données. Tout d'abord, lire les données en mémoire, puis utiliser des expressions régulières pour la correspondance et l'extraction.

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))

Avec le code ci-dessus, nous avons utilisé avec succès des expressions régulières pour faire correspondre tous les numéros de téléphone mobile et les avons enregistrées dans le fichier result.txt.

  1. Résumé

Dans cet article, nous avons présenté comment utiliser les expressions régulières Python pour le traitement du Big Data. Le module re intégré de Python fournit de nombreuses fonctions et méthodes d'expressions régulières couramment utilisées. En maîtrisant la syntaxe des expressions régulières, nous pouvons effectuer rapidement et efficacement le filtrage, le nettoyage et d'autres opérations de données dans le traitement du Big Data.


  1. a-z

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn