用faker包生成200个随机电话号码,然后分别提取移动,电信,联通,并生成excel表
时间: 2023-06-20 17:06:39 浏览: 206
好的,我可以帮你实现这个需求。你需要先安装 `faker` 和 `pandas` 两个包,可以使用以下命令进行安装:
```
pip install faker pandas
```
然后,运行以下代码即可生成并保存 Excel 表格:
```python
import faker
import pandas as pd
# 创建 Faker 对象
fake = faker.Faker(locale='zh_CN')
# 生成 200 个随机电话号码
phone_numbers = [fake.phone_number() for _ in range(200)]
# 定义函数,根据号码段判断运营商
def get_provider(phone_number):
prefix = phone_number[:3]
if prefix in ['134', '135', '136', '137', '138', '139', '147', '150', '151', '152', '157', '158', '159', '172', '178', '182', '183', '184', '187', '188', '198']:
return '移动'
elif prefix in ['130', '131', '132', '145', '155', '156', '166', '171', '175', '176', '185', '186', '166']:
return '联通'
elif prefix in ['133', '149', '153', '173', '177', '180', '181', '189', '199']:
return '电信'
else:
return '未知'
# 根据号码段获取运营商
providers = [get_provider(phone_number) for phone_number in phone_numbers]
# 构造 DataFrame
df = pd.DataFrame({'电话号码': phone_numbers, '运营商': providers})
# 保存为 Excel 文件
df.to_excel('phone_numbers.xlsx', index=False)
```
这段代码使用 `faker` 包生成了 200 个随机的电话号码,并根据这些号码的号码段判断出了运营商,最后将其保存为 Excel 文件。你可以根据需要修改其中的参数,如生成的号码数量、Excel 文件名等。
阅读全文