请用Python写一个大批量数据生成的代码脚本,要求姓名只能汉字随机3个字,电话只以1开头的随机11位数,分数为1-9分。要求生成5000份资料的Excel文件
时间: 2024-05-12 12:21:05 浏览: 82
由于需要生成Excel文件,需要使用Python的第三方库pandas和openpyxl,需要先安装这两个库。
代码如下:
```python
import pandas as pd
import random
from openpyxl import Workbook
# 定义生成随机姓名的函数
def generate_name():
last_name = ['赵', '钱', '孙', '李', '周', '吴', '郑', '王', '冯', '陈', '褚', '卫', '蒋',
'沈', '韩', '杨', '朱', '秦', '尤', '许', '何', '吕', '施', '张', '孔']
first_name = ['丽', '娟', '婷', '敏', '燕', '静', '颖', '慧', '莉', '芳', '雪', '琳', '璐',
'洁', '妍', '蓉', '佳', '蕾', '倩', '媛', '晶', '涵', '苗', '欣', '心', '瑶']
return random.choice(last_name) + random.choice(first_name) + random.choice(first_name)
# 定义生成随机电话号码的函数
def generate_phone_number():
return '1' + ''.join(random.choice('0123456789') for _ in range(10))
# 定义生成随机分数的函数
def generate_score():
return random.randint(1, 9)
# 生成5000份随机资料
data = {'姓名': [generate_name() for _ in range(5000)],
'电话': [generate_phone_number() for _ in range(5000)],
'分数': [generate_score() for _ in range(5000)]}
# 将数据转换为DataFrame
df = pd.DataFrame(data)
# 将数据保存到Excel文件中
wb = Workbook()
ws = wb.active
ws.append(['姓名', '电话', '分数'])
for row in df.iterrows():
ws.append(row[1])
wb.save('data.xlsx')
```
运行上述代码后,会在当前目录下生成一个名为“data.xlsx”的Excel文件,其中包含5000份随机生成的资料。
阅读全文