Dalam proses pemprosesan data, kadangkala kita perlu menapis dan membersihkan sejumlah besar data Pada masa ini, menggunakan ungkapan biasa Python boleh meningkatkan kecekapan pemprosesan data. Berikut akan memperkenalkan cara menggunakan ungkapan biasa Python untuk pemprosesan data besar.
Pertama, anda perlu menyediakan data yang perlu diproses, seperti set data yang mengandungi 500,000 teks Mandarin. Set data ini boleh diperolehi dari Internet atau dibuat sendiri.
Sebelum menggunakan ungkapan biasa Python, anda perlu mengimport modul semula terbina dalam Python Modul ini menyediakan banyak Fungsi berkaitan ungkapan biasa dan kaedah.
import re
Ungkapan biasa ialah ungkapan yang digunakan untuk memadankan rentetan sintaksnya agak rumit, tetapi selepas menguasai yang biasa digunakan Selepas sintaks, kecekapan pemprosesan data bertambah baik.
3.1. Ungkapan
Sintaks asas ungkapan biasa ialah ungkapan yang terdiri daripada satu siri aksara dan aksara meta. Antaranya, watak mewakili watak dalam rentetan yang sepadan, dan metacharacter mewakili jenis watak tertentu.
3.2. Metacharacter
Metacharacter dibahagikan kepada metacharacter aksara tunggal dan metacharacter gabungan.
Metacharacter aksara tunggal termasuk:
Metakarakter aksara gabungan termasuk:
3.3. Pengkuantiti
Pengkuantiti digunakan untuk menunjukkan bilangan aksara yang sepadan yang biasa digunakan adalah seperti berikut:
Selepas memperkenalkan sintaks ungkapan biasa di atas, kita boleh mula menggunakan ungkapan biasa untuk pemprosesan data . Berikut akan mengambil contoh mudah untuk menunjukkan cara menggunakan ungkapan biasa untuk pemprosesan data.
4.1. Membaca data
Mula-mula, anda perlu membaca data masuk. Di sini anda boleh memilih untuk menggunakan fungsi terbuka terbina dalam Python untuk membaca, atau anda boleh menggunakan perpustakaan pihak ketiga panda untuk dibaca.
# 使用pandas读取数据 import pandas as pd data = pd.read_csv('data.csv', encoding='utf-8')
4.2. Gunakan ungkapan biasa untuk pembersihan data
Andaikan sekarang anda perlu menapis nombor telefon mudah alih dalam data dan menyimpan data yang ditapis ke fail baharu. Dalam contoh ini, kami menganggap bahawa nombor telefon bimbit ialah 11 digit.
Dalam sintaks ungkapan biasa di atas, d bermaksud memadankan sebarang nombor dan {11} bermakna 11 nombor tersebut perlu dipadankan. Jadi ungkapan biasa yang lengkap boleh ditulis sebagai:
regexp = r'd{11}'
Kemudian kita boleh menggunakan modul semula Python untuk menapis dan membersihkan data Mula-mula, baca data ke dalam memori, dan kemudian gunakan ungkapan biasa untuk pemadanan dan pengekstrakan.
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))
Melalui kod di atas, kami berjaya menggunakan ungkapan biasa untuk memadankan semua nombor telefon mudah alih dan menyimpannya dalam fail result.txt.
Dalam artikel ini, kami memperkenalkan cara menggunakan ungkapan biasa Python untuk pemprosesan data besar. Modul semula terbina dalam Python menyediakan banyak fungsi dan kaedah ungkapan biasa yang biasa digunakan Dengan menguasai sintaks ungkapan biasa, kami boleh melakukan penapisan data, pembersihan dan operasi lain dengan cepat dan cekap dalam pemprosesan data besar.
Atas ialah kandungan terperinci Cara menggunakan ungkapan biasa Python untuk pemprosesan data besar. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!