虚拟数据写入表格
以下代码主要实现了以下几个功能:
-
定义了一个生成随机性别的函数
random_sex,通过Faker库从'男'和'女'中随机选择一个返回。 -
定义了一个
data_to_list函数,用于生成指定数量(通过参数nums控制)的虚拟数据。每条数据包括姓名、性别、地址、电子邮件、出生日期和公司,并将这些数据以列表的形式存储在内部列表inlist中,然后将inlist添加到外部列表outlist中。 -
调用
data_to_list函数生成了 5 条虚拟数据,并将结果存储在data变量中。 -
将生成的虚拟数据列表
data转换为DataFrame格式。 -
最后,使用
pandas的to_excel方法将DataFrame中的数据写入到名为output.xlsx的 Excel 文件中,并且设置不包含索引。
# 虚拟数据写入Excel文件
# 导入模块
import pandas as pd
from datetime import datetime
from faker import Faker
fake = Faker('zh_CN') # 设置为中文
# 随机性别函数
def random_sex():
sex = fake.random_element(elements=('男', '女'))
return sex
# 以追加模式文本文件
def write_to_txt(content):
with open('example.txt', 'a', encoding='utf-8') as file:
# 将数据写入文件
file.write(content)
# 定义一个空列表
outlist = []
def data_to_list(nums):
for i in range(nums):
inlist = [] # 定义、重置列表
# 生成数据
name = fake.name()
sex = random_sex()
address = fake.address()
email = fake.email()
date_of_birth = fake.date_of_birth()
# 自定义日期格式并格式化
date = datetime.strftime(date_of_birth, "%Y-%m-%d")
company = fake.company()
# 写入内部列表
inlist.append(name)
inlist.append(sex)
inlist.append(address)
inlist.append(email)
inlist.append(date)
inlist.append(company)
# 写入外层列表
outlist.append(inlist)
return outlist
data = data_to_list(5)
# 假设您有一个名为 data 的列表,其中每个元素都是一个包含数据的子列表
# data = [
# ['张三', '男', '北京市朝阳区', 'zhangsan@example.com', '1990-01-01', 'XX 公司'],
# ['李四', '女', '上海市浦东新区', 'lisi@example.com', '1995-05-05', 'YY 公司']
# ]
# 将列表转换为 DataFrame
df = pd.DataFrame(data, columns=['姓名', '性别', '地址', '电子邮件', '出生日期', '公司'])
# 写入 Excel 文件
df.to_excel('output.xlsx', index=False)
总的来说,这段代码的主要作用是生成一定数量的虚拟个人信息数据,并将其保存到 Excel 文件中。