使用python包faker生成仿真数据

Posted Data+Science+Insight

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用python包faker生成仿真数据相关的知识,希望对你有一定的参考价值。

使用python包faker生成仿真数据

 

See the source image

在编写程序过程中,我们常常需要用到很多数据来进行测试。如果要是手动制造数据的话,肯定要花费大把精力,这不合理。此时我们应该使用Faker这个Python库,用它来生成各种各样的伪数据。

Faker是一个Python包,它为你生成假数据。无论您需要引导数据库、创建美观的XML文档、填充持久性来对其进行压力测试,还是对从生产服务中获取的数据进行匿名化,Faker都是为您服务的。

Faker is a Python package that generates fake data for you. Whether you need to bootstrap your database, create good-looking XML documents, fill-in your persistence to stress test it, or anonymize data taken from a production service, Faker is for you.

 

faker的常用语言:

  • 简体中文:zh_CN

  • 繁体中文:zh_TW

  • 美国英文:en_US

  • 英国英文:en_GB

  • 德文:de_DE

  • 日文:ja_JP

  • 韩文:ko_KR

  • 法文:fr_FR

#安装

pip install faker

# !pip install faker
from faker import Faker
fake = Faker()
fake.name()
#使用faker生成仿真数据

# 生成fake name

for _ in range(10):
    print(fake.name())

# 配置语言模式

fake = Faker("zh_CN")
print(fake.name())
print(fake.job())
print(fake.address())

# 字典数据生成

#生成一个测试用的字典数据类型
fake.pydict()
{'希望': 'CISxNWbHutsJorpOMFrA',
 '积分': 'QdburVSlfICUrdIbIrTF',
 '看到': datetime.datetime(2006, 9, 21, 8, 57, 38),
 '市场': 'uAYihpPSMDpvgCUfpULB',
 '完全': 5775,
 '发表': 'http://www.wen.com/category/',
 '组织': 'cuiyang@qianguo.org',
 '建设': datetime.datetime(1980, 5, 18, 2, 47, 11),
 '今年': 8802,
 '名称': 'ptfAdRAwfWpQCZOpDRFj'}

# 生成user_agent

#生成一个chrome的user_agent
fake.chrome()
Gary Rodriguez
Erin Brooks
Willie Perez
Chad Johnson
Joseph Johnson
Kim Cooper
Kathy Valdez
Daniel Evans
Christopher Ortega
James Edwards DDS

# 生成虚拟IP地址

#生成虚假的IP地址
from faker import Faker
from faker.providers import internet

fake = Faker()
fake.add_provider(internet)

print(fake.ipv4_private())

# 配置多种语言格式

from faker import Faker
fake = Faker(['zh_CN', 'en_US', ''])
for _ in range(10):
    print(fake.name())
Jonathan Lopez
Laura Diaz
何晶
张鑫
杨桂英
李利
Charles Murphy
Alexis Frazier
Matthew Roy
王丹丹

#

#生成一个人相关的详细信息,以字典的形式进行组织
fake.profile()

# 生成字典并使用pandas读取

pd.DataFrame.from_dict(fake.profile(),orient = 'index')

# 获取dict的键

columns = list(fake.profile().keys())
columns

# pandas读取dict数据并进行转置

pd.DataFrame.from_dict(fake.profile(),orient = 'index').T

# 生成多条仿真数据并用pandas dataframe进行读取

#通过for循环把faker生成的数据组织起来存放在pandas dataframe中
# 生成list of dict
people_list = []
for i in range(10):
    people_list.append(fake.profile())


df = pd.DataFrame(people_list)
df.head(1)


最后,一定要举一反三啊

通过在pypi仓库中输入faker我们发现不光有faker这个包,还有许多其他的包也可以生成仿真数据,例如可以生成elasticsearch的仿真数据,可以生成SQL数据库的仿真数据等。

 

参考:pypi

参考:Python造假数据,用这个库

参考:faker

参考: Python库——Faker

以上是关于使用python包faker生成仿真数据的主要内容,如果未能解决你的问题,请参考以下文章

Python-Faker

python3 测试的时候如何批量随机生成伪数据?(faker模块的)

使用Python随机生成数据的一些方法

使用Python随机生成数据的一些方法

Faker:Python的伪造数据生成器

使用Python随机生成数据的一些方法