Python造“假”数据,用扩展库Faker足够了!(附源码)

242 阅读3分钟

这是我参与8月更文挑战的第4天

前言

今天用Python给大家造“假”数据,直接开整~

开发工具

Python版本: 3.6.4

相关模块: Faker

Faker扩展库

这时,Python扩展库Faker来了,带着它那各种各样的数据来了。

先安装faker

pip install Faker

创建faker对象

from faker import Faker
fake = Faker()

随机生成一个名字

fake.name()  # 'Nancy Horton'

上边生成的名字是英文的,如果想要个中文名字,在创建Faker对象的时候,指定语言“中文”就可以。

fake = Faker("zh_CN")

一些常用的语言包括以下等等:

  • 简体中文:zh_CN
  • 繁体中文:zh_TW
  • 美国英文:en_US
  • 英国英文:en_GB
  • 德文:de_DE
  • 日文:ja_JP
  • 韩文:ko_KR
  • 法文:fr_FR

都有什么样的数据

faker 提供了一些Standard Providers,列出了一些较为较为常用的数据。

  • address
  • company
  • date_time
  • job
  • person
  • phone_number
  • profile
  • python
  • user_agent

比如生成“地址”信息

In [1]: fake.address()
Out[1]: '北京市大冶市海陵赵路x座 941837'

这里给出的是一整条“地址”的信息,你也可以通过building_number()、city()、street_address()等获取单个信息

这些字段其实记不住也没什么,需要用哪个的时候查阅官方文档就行。

文档链接

faker.readthedocs.io/en/master/p…

再比如生成“职位”信息

In [2]: fake.job()
Out[2]: '教育/Python工程师'

生成python的数据类型

# 生成一个字典
In [3]: fake.pydict()
Out[3]:
{'生产': 'OlmMWPfQMJYxeiJtZSFC',
 '有些': 'jUYzbWgDEqvzjiAsubSX',
 '资源': 7670,
 '应用': 804210265906561.0,
 '国际': 9113,
 '电影': 'https://yangtang.cn/homepage.jsp',
 '方面': 'RGfbqIgxqTbnjkGDpoVO',
 '为什': 1947,
 '地址': 7021,
 '时候': 'oxia@hotmail.com'}

生成user_agent

In [4]: fake.chrome()
Out[4]: 'Mozilla/5.0 (iPad; CPU iPad OS 4_2_1 like Mac OS X) AppleWebKit/531.2 (KHTML, like Gecko) CriOS/55.0.807.0 Mobile/62B715 Safari/531.2'

生成个人信息

In [5]: fake.profile()
Out[5]:
{'job': '代码管理员',
 'company': '文亭传媒有限公司',
 'ssn': '370302198922223749',
 'residence': '广东省深圳市沈北新王路k座 203394',
 'current_location': (Decimal('32.942244'), Decimal('95.029663')),
 'blood_group': 'O-',
 'website': ['https://www.minyan.cn/'],
 'username': 'yangwen',
 'name': '蒋璐',
 'sex': 'M',
 'address': '宁夏回族自治区宁德县丰都长沙街b座 685258',
 'mail': 'oliao@yahoo.com',
 'birthdate': datetime.date(1971, 2, 13)}

如果想生成多条个人信息,可以利用for循环,把每个字典在添加到列表里,导出一个DataFrame

文章到这里就结束了,感谢你的观看,Python数据分析系列,下篇文章分享Python 爬取鲁迅先生《经典语录》

为了感谢读者们,我想把我最近收藏的一些编程干货分享给大家,回馈每一个读者,希望能帮到你们。

干货主要有:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

All done~详见个人简介获取完整源代码。。