Python自动化办公之手机号提取

你想了解“Python自动化办公之手机号提取”的完整攻略,我可以为你提供以下过程:

任务目标

本次任务的目标是从一份文档中提取有效的中国大陆手机号码。

工具准备

  • Python编程语言
  • re正则表达式模块
  • pandas数据分析库

步骤分解

  1. 读取文档

使用pandas库中的read_excel()函数可以读取Excel文件,该函数返回一个DataFrame对象。我们可以通过DataFrame对象的iloc属性来读取表格中特定的行和列。

  1. 正则表达式

中国大陆手机号码的格式是11位数字,以1开头。我们可以使用re模块中的正则表达式来匹配这个格式。具体实现请见代码块:

import re

pattern = re.compile(r'1[3-9]\d{9}')  # 匹配11位数字,以1开头的手机号码
  1. 提取手机号码

我们可以通过正则表达式来匹配文档中的所有电话号码,然后用列表来存储匹配到的结果。具体实现请见代码块:

import pandas as pd
import re

excel_file = pd.read_excel('data.xlsx', header=None)

data_list = []
for index, row in excel_file.iterrows():
    text = str(row[0])
    phone_numbers = pattern.findall(text)
    if phone_numbers:
        data_list.extend(phone_numbers)
  1. 输出结果

最后,我们可以将提取出来的手机号码保存到一个文件中。具体实现请见代码块:

with open('output.txt', 'w') as f:
    for phone_number in data_list:
        f.write(phone_number + '\n')

示例说明

假设有如下的Excel表格数据,我们需要从中提取手机号码:

A
1 顾客咨询电话 020-12345678
2 2018年订购记录,电话 18812345678
3 会员服务热线:0755-67891234 联系人:张三 13688888888
4 商务合作热线 13711112222

我们可以使用如下的代码来提取手机号码:

import pandas as pd
import re

pattern = re.compile(r'1[3-9]\d{9}')  # 匹配11位数字,以1开头的手机号码

excel_file = pd.read_excel('data.xlsx', header=None)

data_list = []
for index, row in excel_file.iterrows():
    text = str(row[0])
    phone_numbers = pattern.findall(text)
    if phone_numbers:
        data_list.extend(phone_numbers)

with open('output.txt', 'w') as f:
    for phone_number in data_list:
        f.write(phone_number + '\n')

print('手机号提取完成')

运行代码后,输出的结果是:

手机号提取完成

在同级目录下生成了一个名为output.txt的文件,里面包含了所有提取到的手机号码:

18812345678
13688888888
13711112222

如此我们就实现了Python自动化办公之手机号提取的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python自动化办公之手机号提取 - Python技术站

(0)
上一篇 2023年6月5日
下一篇 2023年6月5日

相关文章

  • Python中的迭代器与生成器使用及说明

    Python中的迭代器与生成器使用及说明 什么是迭代器? 在 Python 中,迭代器是一个实现了 __iter__() 和 __next__() 方法的对象。__iter__() 返回迭代器对象本身,__next__() 返回迭代器中的下一个值。如果没有更多的值可供迭代,那么 __next__() 方法应该抛出 StopIteration 异常。 迭代器的…

    python 2023年6月3日
    00
  • 基于Python socket实现简易网络聊天室

    下面是基于Python socket实现简易网络聊天室的完整攻略。 步骤一:实现基本的客户端和服务端 首先我们需要实现简单的客户端和服务端,可以让客户端发送消息给服务端,并让服务端把消息广播给所有的客户端。 客户端 import socket import threading IP = ‘127.0.0.1’ PORT = 1234 def send_mes…

    python 2023年6月6日
    00
  • python将dict中的unicode打印成中文实例

    请看下文。 问题描述 Python 中经常会用到 dict 类型,在 dict 中存储的值的类型很多,其中包括字符串类型。在 dict 中保存的字符串类型可能是 unicode 类型的字符串,如果不加处理,那么在输出时,会显示成 unicode 编码的形式,不能正确的显示中文字符串。 例如,当你打印以下的字典时: d = {‘name’: u’张三’, ‘a…

    python 2023年5月31日
    00
  • Python 居然可以在 Excel 中画画你知道吗

    当然,我非常乐意为您讲解如何在Excel中使用Python画图。接下来是完整的实例教程及示例说明。 准备工作 首先,您需要确保以下工具及环境已安装并配置正确: Python pip pandas openpyxl xlsxwriter Jupyter Notebook 或其他编辑器(例如VS Code、PyCharm等) 如果您尚未安装以上工具或环境,请按照…

    python 2023年5月13日
    00
  • Python实现将Excel转换成xml的方法示例

    下面就为您详细讲解“Python实现将Excel转换成xml的方法示例”的完整实例教程,包含以下步骤: 环境准备 读取Excel中的数据 将数据转换为xml 将xml保存到文件中 接下来我们逐步分步讲解: 环境准备 在进行Excel转换成xml的操作之前,我们需要安装openpyxl库。这个库可以让我们读取Excel文件中的数据,同时也可以将数据转换成xml…

    python 2023年5月13日
    00
  • Python三维绘图之Matplotlib库的使用方法

    我会为您详细讲解“Python三维绘图之Matplotlib库的使用方法”的完整攻略。 什么是Matplotlib库 Matplotlib库是Python的一个数据可视化工具,可以用来绘制2D和3D图形。它具有广泛的可定制性和高质量的图形输出。 在手动安装Matplotlib之前,建议检查系统中是否已经安装了Matplotlib。请使用以下命令检查: imp…

    python 2023年5月19日
    00
  • Python+matplotlib调用随机函数生成变化图形

    下面是“Python+matplotlib调用随机函数生成变化图形”的完整攻略: 准备工作 首先需要安装好Python和matplotlib库,具体可以参考官方文档进行安装。 生成数据 我们使用Python内置的随机数模块random来生成随机数据,例如下面的代码可以生成100个介于0和1之间的随机数: import random data = [rando…

    python 2023年6月3日
    00
  • python 读写、创建 文件的方法(必看)

    Python 读写、创建文件的方法 在 Python 中,可以使用内置的文本处理库来进行文件的读取、写入和创建操作。下面介绍一些常用的方法: 打开文件 使用内置函数 open() 可以打开指定路径下的文件。open() 函数有两个参数:文件名(包含路径)和打开模式。打开模式有以下几种: r 读取模式,打开文件后只能读取文件内容,不能修改。 w 写入模式,会清…

    python 2023年6月2日
    00
合作推广
合作推广
分享本页
返回顶部