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

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
简介: [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")

参考

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
5月前
|
测试技术 开发者 Python
Python单元测试入门:3个核心断言方法,帮你快速定位代码bug
本文介绍Python单元测试基础,详解`unittest`框架中的三大核心断言方法:`assertEqual`验证值相等,`assertTrue`和`assertFalse`判断条件真假。通过实例演示其用法,帮助开发者自动化检测代码逻辑,提升测试效率与可靠性。
475 1
|
4月前
|
安全 数据管理 测试技术
告别蛮力:让测试数据生成变得智能而高效
告别蛮力:让测试数据生成变得智能而高效
517 120
|
5月前
|
存储 人工智能 测试技术
如何使用LangChain的Python库结合DeepSeek进行多轮次对话?
本文介绍如何使用LangChain结合DeepSeek实现多轮对话,测开人员可借此自动生成测试用例,提升自动化测试效率。
1027 125
如何使用LangChain的Python库结合DeepSeek进行多轮次对话?
|
5月前
|
监控 数据可视化 数据挖掘
Python Rich库使用指南:打造更美观的命令行应用
Rich库是Python的终端美化利器,支持彩色文本、智能表格、动态进度条和语法高亮,大幅提升命令行应用的可视化效果与用户体验。
444 0
|
4月前
|
数据可视化 关系型数据库 MySQL
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
本文详解基于Python的电影TOP250数据可视化大屏开发全流程,涵盖爬虫、数据存储、分析及可视化。使用requests+BeautifulSoup爬取数据,pandas存入MySQL,pyecharts实现柱状图、饼图、词云图、散点图等多种图表,并通过Page组件拖拽布局组合成大屏,支持多种主题切换,附完整源码与视频讲解。
410 4
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
|
4月前
|
传感器 运维 前端开发
Python离群值检测实战:使用distfit库实现基于分布拟合的异常检测
本文解析异常(anomaly)与新颖性(novelty)检测的本质差异,结合distfit库演示基于概率密度拟合的单变量无监督异常检测方法,涵盖全局、上下文与集体离群值识别,助力构建高可解释性模型。
420 10
Python离群值检测实战:使用distfit库实现基于分布拟合的异常检测
|
5月前
|
存储 测试技术 API
数据驱动开发软件测试脚本
今天刚提交了我的新作《带着ChatGPT玩转软件开发》给出版社,在写作期间跟着ChatGPT学到许多新知识。下面分享数据驱动开发软件测试脚本。
174 0
|
数据采集 XML 测试技术
Faker 一个生成虚拟数据的Python模块
不会爬虫,没有数据怎么来练习,上次行哥给大家分享过数据集网站,有兴趣的可以看一下
588 0
Faker 一个生成虚拟数据的Python模块
|
5月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
483 102
|
5月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
395 104

推荐镜像

更多