Fake data generator in Python
Tags: python
Published: 2022-05-27 04:09:27

Faker is a Python package that allows you to generate your own fake dataset.By using this package you can generate random data such as Name,Address,Email,City,Country etc. This package supports multiple locations and languages to generate data based on locality.

Faker is not a standard python library,so first you need to install it using following command:

```
pip install Faker
```

Following example is the simple demonstration of Faker to generate fake Name,Date of Birth, Address,country,email.

```python
from faker import Faker
#Faker instance
fake=Faker()
print('Name:',fake.name())
print('Date of Birth:',fake.date_of_birth())
print('Address:',fake.address())
print('Country:',fake.country())
print('Email:',fake.email())
```

Output
```
Name:Stephen Palmer
Date of Birth:1984-02-24
Address:880 Jones Wells Suite 398
West Kimberlyfort,WI 86842
Country:Romania
Email:taylorelaine@gmail.com
```

Faker generates data by default in English US ('en_US)locale.Consider the following example to generate random names in default locale.

```python
 from faker import Faker
 #Faker instance
 fake=Faker()
 print('First Name:',fake.first_name())
 print('Last Name:',fake.last_name())
 print('Name:',fake.name())
```

Output
```
 First Name:Jamie
 Last Name:Stephenson
 Name:Julie Davidson
```

To change the language we need to pass the specific locale to the Faker class.

```python
 from faker import Faker
 #Faker instance in
 #English-India language
 fake Faker('en_In')
 print('First Name:',fake.first_name())
 print('Last Name :, fake.last_name())
 print('Name:',fake.name())
 print('--------------')
 #Faker instance in
 #Hindi-India language
 fake1 Faker('hi_In')
 print('First Name :, fake1.first_name())
 print('Last Name:',fake1.last_name())
 print('Name:',fake1.name())
```

Output
```
 First Name:Dhruv
 Last Name:Tripathi
 Name:Sara Dave
--------------
 First Name:राजीव
 Last Name:दूबे
 Name:अमर आहूजा
```

List of available locales that are supported by Faker library.

```python
 from faker.config import AVAILABLE_LOCALES
 #get list of available locales
 List=[local for local in AVAILABLE_LOCALES]
 #print list
 print(List)
```

Output
```
['ar_AA','ar_EG','ar_JO','ar_PS','ar_SA','bg_BG','bs_BA','cs_CZ','de',
 de_AT','de_CH','de_DE','dk_DK','el CY','el_GR','en','en_AU','en_CA',
'en_GB','en_IE','en_IN','en NZ','en_PH','en_TH','en_US','es','es_CA',
'es_ES','es MX','et EE','fa IR','fi_FI','fil PH','fr_CA','fr_CH','fr_F
R','fr_QC','he_IL','hi_IN','hr_HR','hu_HU','hy_AM','id_ID','it_CH','₁
t_IT','ja_JP','ka_GE','ko_KR','la','1b_LU','lt_LT','1v_LV','mt_MT',
e_NP','n1_BE','nl_NL','no_NO','or_IN","pl_PL','pt_BR','pt_PT','ro_RO',
'ru_RU','sk_SK','sl_SI','sv_SE','ca_IN','th','th_TH','el_PH','tr_TR¹,
'tw_GH','uk_UA','zh_CN','zh_TW']
```

There are lot of methods in Faker,you can get the list of all available attributes and methods using dir()function.

```python
 from faker import Faker
 #Faker instance
 fake=Faker()
 #print list
 print(dir(fake))
```

Output
```
 ['__class_','_delattr_',
 '_dir_','__doc____',
                      '_dict_',
                         'address','am_pm',...
 'android platform_token','ascii_company_email',
        'word','words','year','zip',
 'zipcode','zipcode_in_state','zipcode_plus4']
```

Follow me for more :) Happy Coding