数据伪造: faker
2018-03-14 本文已影响0人
领悟悟悟
参考:
Faker 0.8.11 : Python Package Index
SQLAlchemy 1.2 Documentation
安装
pip install faker
导入模块
from faker import Factory, Faker
faker = Factory.create(locale='zh-cn') # 选择语言
3DD8CD4F-0425-49d6-A2B1-ECC3AB42CE6C.png
>>> faker.name()
'敖桂芝'
>>> faker.text()
'事情发表看到汽车最新制作女人.经验管理研究能够我的自己.\n一点应用当前.关系完全登录联系音乐业务一个.\n留言我们这样时候就是报告为了城市.其他内容部分销售产品成功.\n显示论坛那个免费应用中国.下载不能部分图片无法部分来源.很多客户你们当前是否事情中文就是.\n应用关系以及部门的人今天.不断推荐喜欢已经.本站控制大小地区经济欢迎.\n根据工作其他大小论坛在线功能.最后服务投资经济包括社会发表.'
>>> faker.address()
'浙江省鑫县西峰长春路H座 353937'
>>> faker.postcode()
'616208'
>>> faker.random_number(5)
11044
>>> faker.date_time()
datetime.datetime(1981, 8, 8, 17, 10, 21)
>>> faker.date_this_year()
datetime.date(2018, 1, 17)
来个demo
from faker import Factory, Faker
from uuid import uuid1
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, String, Integer,VARCHAR, Text, DateTime
from sqlalchemy.orm import sessionmaker
engine = create_engine('mysql+pymysql://root:123456@localhost:3306/Baidu?charset=utf8')
Base = declarative_base()
class Invitation(Base):
__tablename__ = 'tieba'
id = Column(String(40), primary_key=True)
author_name = Column(VARCHAR(40), nullable=False, index=True)
title = Column(String(60), nullable=False)
article_id = Column(Integer, nullable=False, index=True)
reply_num = Column(Integer, nullable=True)
date = Column(DateTime, nullable=False)
content = Column(Text)
def __repr__(self):
return '%s(%r)' % (self.__class__.__name__, self.author_name)
Base.metadata.create_all(engine)
Session = sessionmaker(bind=engine)
session = Session()
faker = Factory.create(locale='zh-cn')
faker_invs = [
Invitation(
id=uuid1().__str__(),
author_name=faker.name(),
title=faker.address(),
article_id=faker.random_number(5),
reply_num=faker.random_number(4),
date=faker.date_this_year(),
content=faker.text()
) for i in range(10)
]
session.add_all(faker_invs)
session.commit()
3DD8CD4F-0425-49d6-A2B1-ECC3AB42CE6C.png