为任何目的生成假数据

damm的Python项目详细描述


该死的

GitHub top languageDocumentation StatusTravis (.org)Codacy BadgeMaintainabilityPyPI download monthPyPI download weekPyPI download day

为任何目的生成假/假数据

目录

简介

dammy是一个强大而简单的工具来生成假数据。您可以使用它来模拟类、填充数据库等等。 您可以查看完整的文档here。在

特点

  • 在预先构建的对象集中生成任何内容(人名、国家名称、汽车制造商和型号、随机日期…)
  • 轻松组合更复杂的数据(完整的配置文件、完整的数据库)
  • 在几乎没有代码的情况下扩展上一个集合的可能性
  • 完全凭直觉,你将在不到10分钟内学会使用它
  • 将生成的数据导出到SQL

示例

如果你想随机产生1000个人,只要定义一个人长什么样,剩下的就交给达米处理

fromdammyimportEntityGeneratorfromdammy.functionsimportcastfromdammy.stdlibimportRandomName,RandomString,RandomDateTime,RandomInteger,CountryNameclassPerson(EntityGenerator):first_name=RandomName().upper()password=RandomString(5)birthday=RandomDateTime(start=datetime(1980,1,1),end=datetime(2000,12,31),date_format='%d/%m/%Y')favorite_number=RandomInteger(0,10)age=cast((datetime.now()-birthday).days/365.25,int)country=CountryName()# Generate 1000 random peopleforiinrange(0,1000):print(Person())

将输出:

^{pr2}$

它还支持表之间的关系,因此您可以生成数据来填充数据库

fromdammyimportEntityGeneratorfromdammy.dbimportAutoIncrement,PrimaryKey,ForeignKeyfromdammy.stdlibimportRandomName,RandomString,RandomDateTime,RandomInteger,CountryName# Define what a person looks likeclassPerson(EntityGenerator):id_pk=PrimaryKey(id=AutoIncrement())first_name=RandomName().upper()password=RandomString(5)birthday=RandomDateTime(start=datetime(1980,1,1),end=datetime(2000,12,31),date_format='%d/%m/%Y')favorite_number=RandomInteger(0,10)age=cast((datetime.now()-birthday).days/365.25,int)country=CountryName()# Define what a car looks likeclassCar(EntityGenerator):id_pk=PrimaryKey(id=AutoIncrement())manufacturer_name=CarBrand()model=CarModel(car_brand=manufacturer_name)owner=ForeignKey(Person,'identifier')

数据可以导出到SQL

fromdammyimportDatasetGenerator# Generate a dataset with 20000 cars and 94234 peopledataset=DatasetGenerator((Car,20000),(Person,94234)).generate()dataset.get_sql(save_to='cars_with_owners.sql')

安装

使用pip安装dammy的最新稳定版本

pip install dammy

您还可以通过克隆存储库并使用pip安装它来安装最新的开发版本

git clone https://github.com/ibonn/dammy.git dammy
cd dammy
pip install -e .

发布历史记录

  • 1.1.0款

    • 迭代器已添加
  • 1.0.0款

    • 从现在开始使用语义版本控制
    • 固定文件
    • 次要代码更改(删除重复代码…)
  • 0.1.3款

    • 代码重构
    • 所有的二进制操作都可以在BaseGenerator对象之间进行
    • BaseDammy重命名为BaseGenerator
    • EntityGenerator已重命名为OperationResult
    • DammyEntity已重命名为EntityGenerator
    • 所有内容都继承自BaseGenerator
    • 已删除DatabaseConstraint
    • 添加了独特的约束支持
    • 现在可以将数据集导出到JSON
    • 实体现在可以导出为JSON和CSV
    • 在该死的.stdlib增加了新的内置发电机
  • 0.1.2款

    • 文件已改进
    • DatasetGenerator已从主数据库移动到数据库
    • 修复了小错误
  • 0.1.1节

    • 可以获取实体的属性
    • 可以调用实体上的方法
    • 增加了执行操作的能力
    • 代码改进
    • 添加了Docstrings
  • 0.0.3

    • 修正了stdlib中的导入错误
  • 0.0.1款

    • 首次发布

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JavaSwing:如何读取组件下面的图形信息?   JAVAutil。scanner Java scanner为什么跳过代码中的nextLine()?   html如何在jsp文件中使用内联java比较器?   编组时单个元素组的java JAXB元素包装器   java如何使SeleniumWebDriver动态选择客户端证书,而无需直观地检测弹出窗口   java定位服务。FusedLocationApi。getLastLocation(mGoogleApiClient)获取null   java如何快速创建指向Eclipse中元素的Javadoc链接?   如何使用Java语言填充MS Word模板?   java 安卓应用程序不显示来自服务器的值   java有没有办法解决这个问题:第45行第7列path$处的预期名称。客户端[0]。服务   java如何使用ASM仅从switch中删除break语句?   java LOOK else if语句:我把它放在哪里   无效的Java语句   java输出不应包含0值   java遇到意外文本时要抛出什么异常?   java如何将文本文件数组中的数字添加到2d int数组中?   java如何从列表中的对象访问属性?   对象的oop锁方法(Java)   java字符串连接concat()和+运算符的有效使用