需求:在Excel表中,某一个单元格内有姓名、身份证号码、住址等信息,要将手机号码单独提取出来。
问题:有的单元格内没有手机号码,需要打印空行。而且还要考虑手机号码现在有13、14、15、16、17、18、19开头的。
模拟数据:
原始数据2 | ||
xx | 姓名:张三 身份证号码:11111111111111111111 地址:中国北京 电话号码:11111111111 | xx |
xx | 姓名:李四 身份证号码:222222222222222222 地址:中国上海 电话号码:22222222222 | xx |
代码:
import pandas as pd
import re# 指定文件夹路径
folder_path = 'C:\\Users\\Administrator\\Desktop\\01.xlsx'# 读取Excel文件
df = pd.read_excel(folder_path, engine='openpyxl')# 提取身份证号码
for index, row in df.iterrows():cell_value = row['原始数据2']id_number = re.findall(r'(?<!\d)(1[345789]\d{9})(?!\d)', cell_value)if id_number:print(f" {id_number[0]}")else:print() # 输出空行