def csvFile():
    ls = gen.username(num)
    count = 0
    with open('data.csv', 'w+', newline='') as file:
        write = csv.writer(file)
        write.writerow([
            'user_id', 'email', 'username', 'first_name', 'last_name',
            'password', 'create_time', 'last_update', 'age'
        ])

        ageList = gen.ageList(num)
        for username in ls:
            firstEmail = username[0]
            secondEmail = re.findall('[A-Z][^A-Z]*', username)
            dom = gen.emailDomain()
            email = str(firstEmail) + "." + str(secondEmail[0]) + str(dom)
            fName = gen.firstName()
            lName = gen.lastName()
            password = gen.password()
            date = gen.createTime()
            createTime = date.date()
            lastUpdate = gen.lastUpdate(date)
            age = random.choice(ageList)
            ageList.remove(age)

            write.writerow([
                str(count), email,
                str(username), fName, lName, password,
                str(createTime), lastUpdate,
                int(age)
            ])
            count += 1
def jsonFile():
    ls = gen.username(num)
    count = 0
    data = []
    with open('data.json', 'w+') as file:
        ageList = gen.ageList(num)
        for username in ls:
            firstEmail = username[0]
            secondEmail = re.findall('[A-Z][^A-Z]*', username)
            dom = gen.emailDomain()
            email = str(firstEmail) + "." + str(secondEmail[0]) + str(dom)
            fName = gen.firstName()
            lName = gen.lastName()
            password = gen.password()
            date = gen.createTime()
            createTime = date.date()
            lastUpdate = gen.lastUpdate(date)
            age = random.choice(ageList)
            ageList.remove(age)

            data.append({
                'user_id': count,
                'email': email,
                'username': username,
                'first_name': fName,
                'last_name': lName,
                'password': password,
                'create_time': str(createTime),
                'last_update': str(lastUpdate),
                'age': int(age)
            })

            count += 1
            json.dump(data, file)  #, indent=4)
        f.write('\"first_name\":')
        fName = gen.firstName()
        f.write(fName)

        # Last name
        f.write('\"last_name\":')
        lName = gen.lastName()
        f.write(lName)

        # Password
        f.write('\"password\":')
        password = gen.password()
        f.write(password)

        # Create time
        f.write('\"create_time\":')
        date = gen.createTime()
        createTime = date.date()
        f.write('\"' + str(createTime) + '\",')

        # Last update time
        f.write('\"last_update\":')
        lastUpdate = gen.lastUpdate(date)
        f.write(lastUpdate)

        # Formatting
        if count < num:
            f.write('},\n')
        else:
            f.write('}]')