美文网首页大数据 爬虫Python AI Sqlpython爬虫程序员
高考结束了,教你用Python来伪造900万条成绩数据!

高考结束了,教你用Python来伪造900万条成绩数据!

作者: Sheldon_86fd | 来源:发表于2018-06-08 23:06 被阅读59次
    高考结束了,教你用Python来伪造900万条成绩数据! PythonEco

    生成文件内容部分截图:

    PythonEco

    测试数据生成代码:

    from faker import Faker
    import random
    import numpy as np
    import time
    import sys
    
    def get_random_name():  # 生成随机姓名
        fake1 = Faker()
        return fake1.name()
    
    def get_random_id():    # 生成10位准考证号
        id_list = []
        for i in range(10):
            random_num = random.randint(0, 9)
            id_list.append(random_num)
        num_list = ''.join(str(i) for i in id_list)  # 遍历list的元素,把他转化成字符串
        return num_list
    
    def get_random_score():  # 生成随机成绩
        random_score = np.random.normal(96, 6)  # 正态分布
        return int(random_score)
    
    def get_random_score2():  # 生成随机综合成绩
        random_score2 = np.random.normal(250, 8)  # 正态分布
        return int(random_score2)
    
    def get_fake_data():
        temp = sys.stdout      # 记录当前输出指向,默认是consle
        for i in range(60):    # 这里以生成60条数据为测试
            id_num = get_random_id()
            name = get_random_name()
            Chinese = get_random_score()
            Math = get_random_score()
            English = get_random_score()
            Zonghe = get_random_score2()
            Total = Chinese+Math+English+Zonghe
            with open("D:\新建文件夹\FakeData.txt", "a")as f:             # 两次输出重定向
                sys.stdout = f       # 输出指向txt文件
                print(id_num, name, Chinese, Math, English, Zonghe, Total)
                sys.stdout = temp    # 输出重定向回consle
    
    if __name__ == '__main__':
        start = time.clock()
        get_fake_data()
        end = time.clock()
        print('Running time:%s Seconds' % (end-start))
    
    

    好了,本次实验目的主要是学习使用Python文件读写和掌握Python字符处理。

    See U next time!

    相关文章

      网友评论

        本文标题:高考结束了,教你用Python来伪造900万条成绩数据!

        本文链接:https://www.haomeiwen.com/subject/qbmosftx.html