def generate_fake_persons(size):
    """ This function generates a list of dummy persons
        (email, username, fullname, DOB, address and ssn)
    """
    person = Personal('en')
    datetime = Datetime()
    address = Address('en')
    usa_provider = USASpecProvider()

    fake_persons = []
    for _ in range(0, size):
        fake_person = (person.email(), person.username(), \
                       person.full_name(), datetime.date(1970, 2000), \
                       address.address() + " - " + address.state(), usa_provider.ssn())
        fake_persons.append(fake_person)

    return fake_persons
Exemple #2
0
from mimesis import Address, Personal

# Constants
output_filename = "demographics.csv"
number_of_people = 1000
number_of_states = 5
seed = 42
random.seed(seed)

person = Personal(locale='en', seed=seed)
address = Address(locale='en', seed=seed)
states = [address.state() for _ in range(number_of_states)]

demographics = [{
    "id": i,
    "name": person.full_name(),
    "age": random.randint(18, 67),
    "gender": person.gender(),
    "height_meter": person.height(),
    "weight_kg": person.weight(),
    "children": person.child_count(),
    "occupation": person.occupation(),
    "academic_degree": person.academic_degree(),
    "salary": random.randint(65, 90),
    "location": random.choice(states)
} for i in range(number_of_people)]

with open(output_filename, "w") as csvfile:
    fieldnames = [
        "id", "name", "age", "gender", "height_meter", "weight_kg", "children",
        "occupation", "academic_degree", "salary", "location"