日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python手机_Python手机号码匹配

發(fā)布時間:2024/1/1 python 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python手机_Python手机号码匹配 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

今天實戰(zhàn),從8000多個全國手機號碼中篩選出北京地區(qū)的手機號碼。

我們會學(xué)習(xí)python讀取excel和csv文件,對兩個文件數(shù)據(jù)對比。兩個數(shù)據(jù)文件均為隨機生成,文末為下載地址。

兩個數(shù)據(jù)文件其中numbers_virtual.csv是手機號碼表,segment_virtual.xlsx是號段表,用于標(biāo)示北京地區(qū)。 手機號碼編碼規(guī)則是前3位用于標(biāo)識運營商,如133表示電信,136表示移動,186表示聯(lián)通;手機號中4-7位標(biāo)識地區(qū)。

先打開兩個文件觀察一下:

Windows開始菜單–命令行中‘cmd’–‘jupyter notebook’–’File‘-’New Notebook’,這就完成了新建。因為我把這兩個數(shù)據(jù)文件放在D盤python文件夾下,所以需要先修改一下工作路徑:

cd d:\python

兩個文件先讀哪個?先理一下思路,對手機號碼切片,再在號段表里匹配看有沒有,所以我們先得有號段表——先讀號段表。python有專門的庫xlrd讀excel文件,就像csv文件一樣。

import xlrd

data = xlrd.open_workbook('segment_virtual.xlsx')

table = data.sheets()[0]

cols = table.col_values(0)

xlrd.open_workbook(‘segment_virtual.xlsx’)打開excel表格; data.sheets()[0]讀取其中的sheet,這里中括號里用了0表示是第一個sheet; table.col_values(0)用來讀取sheet里的列,我們?nèi)〉?列。如果想知道cols個什么類型,可用print打印,發(fā)現(xiàn)是unicode格式的列表。

接下來讀號碼表

users = []

import csv

with open('numbers_virtual.csv','rb') as f:

reader = csv.reader(f)

for i in reader:

users.append(i[0])

這里不過多解釋,和之前文章一樣。需要說明的是 users.append(i[0])這句,這里用了i[0],因為i是一個含有單元素的列表,所以我們用[0]把它取出來,再放到users這個列表里。

接下來做匹配,如果users里面的每個號碼自身第4-7位這個4位數(shù),在cols這個號段表里能找到,那么就打印這個號碼:

for number in users:

segment = number[3:7]

if segment in cols:

print number

這樣我們就從全國拿出了北京地區(qū)的用戶,同樣的方法還可以拿出北京地區(qū)移動用戶,這個留作練習(xí)。

兩個數(shù)據(jù)文件下載地址鏈接: 鏈接: http://pan.baidu.com/s/1qYw8CCO 密碼: zi4g

最后貼下隨機生成11位手機號碼的代碼:

def createPhone():

prelist=["130","131","132","133","134","135","136","137","138","139","147","150","151","152","153","155","156","157","158","159","186","187","188"]

return random.choice(prelist)+"".join(random.choice("0123456789") for i in range(8))

numbers = []

for i in range(100000):

numbers.append(createPhone())

總結(jié)

以上是生活随笔為你收集整理的python手机_Python手机号码匹配的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。