[python]使用faker库生成测试数据

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: [python]使用faker库生成测试数据

简介

Faker库可用于随机生成测试用的虚假数据。

可生成的数据参考底部的参考链接。

安装:

python -m pip install faker

快速入门

from faker import Faker
# 实例化一个对象,本地化使用中国
fk - Faker(locale="zh_CN")
print(f"{fk.name()} 住在 {fk.address()}")

示例-生成数据并写入到MySQL

import pandas as pd
from sqlalchemy import create_engine
from faker import Faker
import time
fk = Faker(locale='zh-CN')
def create_casefile(nums: int = 10, filename: str = "fakedata.csv"):
    """
    生成虚假数据文件
    Parameters
    ----------
    nums: int, default: 10
        数据量
    filename: str, default: "fakedata.csv"
        虚假数据文件名
    """
    start_time = time.time()
    with open(filename, 'w', encoding='utf8', buffering=4096) as fobj:
        fobj.write("username,phone_number,address,company,job\n")
        # for i in range(nums):
        i = 1
        while i <= nums:
            fobj.write(f"{fk.name()},{fk.phone_number()},{fk.address()},{fk.company()},{fk.job()}")
            if i != nums:
                fobj.write("\n")
            i += 1
    end_time = time.time()
    print(f"共生成 {nums} 条数据, 耗时: {(end_time - start_time):.2f}")
def load_to_mysql(filename: str = "fakedata.csv"):
    """
    将生成的虚拟数据写入到MySQL数据库
    Parameters
    ----------
    filename: str, default: "fakedata.csv"
        虚假数据文件名
    """
    df = pd.read_csv(filename, sep=",")
    print(df.head())
    eng = create_engine("mysql+pymysql://root:123456@192.168.0.10:3306/testdb")
    start_time = time.time()
    print("开始将数据写入到数据库")
    df.to_sql(name="fakedata", con=eng, if_exists="replace")
    end_time = time.time()
    print(f"数据库写入完成, 耗时: {(end_time - start_time):.2f}")
if __name__ == '__main__':
    create_casefile(nums=100000)
    load_to_mysql(filename="fakedata.csv")

参考

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
JavaScript 前端开发 Java
通义灵码 Rules 库合集来了,覆盖Java、TypeScript、Python、Go、JavaScript 等
通义灵码新上的外挂 Project Rules 获得了开发者的一致好评:最小成本适配我的开发风格、相当把团队经验沉淀下来,是个很好功能……
910 103
|
1月前
|
JSON 数据格式 Python
解决Python requests库POST请求参数顺序问题的方法。
总之,想要在Python的requests库里保持POST参数顺序,你要像捋顺头发一样捋顺它们,在向服务器炫耀你那有条不紊的数据前。抓紧手中的 `OrderedDict`与 `json`这两把钥匙,就能向服务端展示你的请求参数就像经过高端配置的快递包裹,里面的商品摆放井井有条,任何时候开箱都是一种享受。
50 10
|
1月前
|
测试技术 Python
Python测试报告生成:整合错误截图,重复用例执行策略,调整测试顺序及多断言机制。
如何组织这一切呢?你可以写一本名为“Python测试之道”的动作指南手册,或者创建一个包含测试策略、测试顺序、多断言机制的脚本库。只要你的测试剧本编写得足够独到,你的框架就会像一位执行任务的超级英雄,将任何潜伏于代码深处的错误无情地揪出来展现在光天化日之下。这些整理好的测试结果,不仅有利于团队协作,更像冒险故事中的精彩篇章,带给读者无尽的探索乐趣和深刻的思考。
53 10
|
1月前
|
XML JSON 安全
分析参数顺序对Python requests库进行POST请求的影响。
最后,尽管理论上参数顺序对POST请求没影响,但编写代码时仍然建议遵循一定的顺序和规范,比如URL总是放在第一位,随后是data或json,最后是headers,这样可以提高代码的可读性和维护性。在处理复杂的请求时,一致的参数顺序有助于调试和团队协作。
91 9
|
3月前
|
SQL 存储 Oracle
跨库迁移有多难?我们用 YashanDB YMP 做了个测试,效果惊艳了
异构数据库迁移常被视为企业数字化转型中的难题,涉及SQL兼容性、对象依赖顺序与数据一致性等关键环节。YashanDB Migration Platform(YMP)通过实际测试展示了卓越能力,从Oracle到YashanDB的迁移表现超预期。其亮点包括:零脚本全自动迁移逻辑、全面支持复杂对象(如存储过程、触发器)、高性能迁移速度远超传统方案。YMP提供评估、SQL转换、对象迁移、数据校验及可视化全流程管理,为企业平滑过渡至国产数据库提供了可靠选择。
跨库迁移有多难?我们用 YashanDB YMP 做了个测试,效果惊艳了
|
1月前
|
测试技术 Python
Python接口自动化测试中Mock服务的实施。
总结一下,Mock服务在接口自动化测试中的应用,可以让我们拥有更高的灵活度。而Python的 `unittest.mock`库为我们提供强大的支持。只要我们正确使用Mock服务,那么在任何情况下,无论是接口是否可用,都可以进行准确有效的测试。这样,就大大提高了自动化测试的稳定性和可靠性。
51 0
|
5月前
|
存储 人工智能 编译器
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
166 10
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
|
4月前
|
机器学习/深度学习 设计模式 测试技术
Python 高级编程与实战:构建自动化测试框架
本文深入探讨了Python中的自动化测试框架,包括unittest、pytest和nose2,并通过实战项目帮助读者掌握这些技术。文中详细介绍了各框架的基本用法和示例代码,助力开发者快速验证代码正确性,减少手动测试工作量。学习资源推荐包括Python官方文档及Real Python等网站。
|
4月前
|
存储 JSON API
Python测试淘宝店铺所有商品接口的详细指南
本文详细介绍如何使用Python测试淘宝店铺商品接口,涵盖环境搭建、API接入、签名生成、请求发送、数据解析与存储、异常处理等步骤。通过具体代码示例,帮助开发者轻松获取和分析淘宝店铺商品数据,适用于电商运营、市场分析等场景。遵守法规、注意调用频率限制及数据安全,确保应用的稳定性和合法性。
|
5月前
|
Web App开发 数据采集 数据安全/隐私保护
Selenium库详解:Python实现模拟登录与反爬限制的进阶指南
Selenium库详解:Python实现模拟登录与反爬限制的进阶指南

推荐镜像

更多