python编写程序,生成 200 个人的模拟信息,包括姓名、性别、年 龄、电话号码、家庭住址、电子邮箱地址,把生成的信息写入文本文 件,每行存放一个人的信息,最后再读取生成的文本文件并输出其中 的信息
时间: 2024-12-30 07:40:16 浏览: 14
在Python中,你可以使用内置模块`random`来生成随机数据,并通过`csv`模块将数据写入CSV文件。这里是一个简单的示例,说明如何实现这个功能:
```python
import random
import csv
# 定义数据字段
fields = ['姓名', '性别', '年龄', '电话号码', '家庭住址', '电子邮件']
num_people = 200
# 定义生成随机信息的函数
def generate_person_info():
return [f'{random_name()}', random.choice(['男', '女']),
random.randint(18, 65), f'+{random.randint(100, 999)}-{random.randint(1000, 9999)}',
f'{random_address()}', f'{random_email()}']
# 生成并写入文件
with open('people_info.csv', mode='w', newline='') as file:
writer = csv.writer(file)
writer.writerow(fields) # 写入表头
for _ in range(num_people):
writer.writerow(generate_person_info())
# 读取并输出信息
def read_and_output():
with open('people_info.csv', mode='r') as file:
reader = csv.reader(file)
next(reader) # 跳过表头
for row in reader:
print(row)
read_and_output()
# 辅助函数,用于生成随机名称、地址和邮件
def random_name():
return f'Person_{random.randint(1, num_people)}'
def random_address():
return f'No.{random.randint(1, 1000)} Street, City'
def random_email():
return f'{random_name().lower()}@example.com'
```
在这个例子中,我们首先定义了需要的字段,然后创建了一个生成随机个人信息的函数。接着,我们将生成的信息写入一个CSV文件,读取操作则遍历文件每一行并打印出来。
阅读全文