用Python來審核,解放你的眼睛

2021-10-08 09:50:04 字數 3001 閱讀 5639

以下是全世界各個地方的位址,我們可以粗略看出,非常的不規範,中英文混雜,有拼音有漢字,大小寫組合,等等,3萬多條資料,像極了平時審核的資料,今天我們的目標就是從中挑出中國的地方。

首先,要確定我們的思路,含有中國地方(不論是拼音還是漢字)的字段全是我們要資料,因此,我們需要先建立乙個關鍵字集,裡面含有中國各地地名,以及其拼音。

接下來,我們就可以用python進行篩選。

先給大家介紹find()語句。

find() 方法查詢指定值的首次出現。如果找不到該值,則 find() 方法返回 -1。

引數說明:

string.find(value, start, end)

1、value:要檢索的值;

2、start:開始檢索的位置。預設是 0;

3、end:結束檢索的位置。預設是字串的結尾。

但是,find()的缺點便是不夠靈活,對於英文本母的大小寫是比較嚴格的,例如以下情況便無法查詢

必須輸入大寫的「d」方可查詢

因此,這個方法不適合在不規範的資料中進行查詢 。

第二個方法就是給大家介紹正規表示式,一般我們對它的使用常常出現在網路爬蟲中,去提取所需要的資訊。

引數說明:

findall (pattern, string [, flags])

1、pattern:正規表示式;

2、string:需要處理的字串;

3、flags:說明匹配模式,例如不區分大小寫re.i,詳細匹配模式說明見下表:

首先,讀取資料,並轉換為列表:

import pandas as pd

import numpy as np

citys = pd.read_excel(

"d:\\city.xls"

, header =

none

)citys = np.array(citys)

.tolist(

)goals = pd.read_excel(

"d:\\goal.xls"

, header =

none

)goals = np.array(goals)

.tolist(

)

說明:

因為本人習慣用pandas進行匯入和用列表來進行迴圈操作,所以我用array().tolist()進行轉換,如果想直接從dataframe中進行迴圈操作,可以用dataframe.iterrows()、dataframe.itertuples()、dataframe.iteritems()來實現。

建立乙個空的dataframe來儲存篩選資料:

mistake = pd.dataframe(columns =

['錯誤'

,'內陸城市'

])

最後,我們結合迴圈語句,對目標進行篩選查詢:

for city in citys:

b ="".join(city)

for goal in goals:

a ="".join(goal)

result = re.findall(b, a,flags=re.ignorecase)

iflen

(result)!=0

: new = pd.dataframe(

[[a, b]

], columns =

['錯誤'

,'內陸城市'])

true

)

引數說明:

str.join(sequence)

將序列中的元素(sequence)以指定的字元(str)連線生成乙個新的字串。

最後,去重匯出,就大功告成了

雖然我們從結果中發現,由於在一些單詞中包含部分城市的拼音,所以還是需要人工進行二次篩選,但相比較看三萬個資料,工作量已經大大減少,此外審核用的關鍵字集也是極為重要的一點,關鍵字集越精簡,篩選的結果便越好,所以小夥伴們需要根據自己的實際情況去使用。

用Stopwatch類來測試你的程式執行時間

上個月在專案中,由於我做的網頁後台計算步驟多,執行時間長,成了棘手問題,如此一來就要優化效能,找出瓶頸,重構 同事當時的建議是使用時間戳 timespan 後來乙個同事用的是診斷模式裡面乙個計時方法,現在看來都很彆扭,因為要 把時間減來減去,感覺不方便,不好用.今天我偶然的發現了stopwatch這...

python中format的用法 用住房來理解

學生黨在家沒事做寫的,就當練練文筆。format的格式化,我用生活中的住房子為例。print is a good format canglaoshi teacher out canglaoshi is a good teacherprint is a good format canglaoshi t...

Python用OpenCv捕捉你的頭像

效果圖 紅框是我的標記 需載入人臉模組 連線 提取碼 nscr 匯入opencv模組 import cv2 載入人臉模型,字串是檔案路徑 face cv2.cascadeclassifier c users admin desktop iamge haarcascade frontalface al...