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
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"