faker类库练习生成姓名、性别、血型等数据

题目

  faker生成姓名、性别、身份证号、手机号、用户名、邮箱地址、居住地址、公司名称、工作职位、血型等模拟数据100条。

代码 

# 任务:faker生成姓名、性别、身份证号、手机号、用户名、邮箱地址、居住地址、公司名称、工作职位、血型等模拟数据100条。
from faker import Faker
from faker.providers import BaseProvider
import random
class GenderProvider(BaseProvider):
  def gender(self):
    return random.choice(['男', '女'])

class BloodProvider(BaseProvider):
  def blood(self):
    return random.choice(['A', 'B', 'AB', 'O'])
class profile_of_employer(BaseProvider):
    def __init__(self):
      self.fake = Faker('zh_CN')
      self.fake.add_provider(GenderProvider)
      self.fake.add_provider(BloodProvider)
      self.total_data = [
        [self.fake.name(),
         self.fake.gender(),
         self.fake.ssn(),
         self.fake.phone_number(),
         self.fake.user_name(),
         self.fake.email(),
         self.fake.address(),
         self.fake.company(),
         self.fake.job(),
         self.fake.blood()
      ]for _ in range(100)
      ]
      print(self.total_data)

    def deal_txt(self):
      with open('data_total.txt', 'w', errors='ignore', encoding='utf-8') as output:
        output.write('name,gender,id_card,phone,username,email,address,company,job,blood\n')
        for row in self.total_data:
          rowtxt = '%s,%s,%s,%s,%s,%s,%s,%s,%s,%s\n' % tuple(row)
          output.write(rowtxt)
      print("Processing completed to txt")

if __name__ == '__main__':
  data = profile_of_employer()
  data.deal_txt()



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值