python随机生成有规律的500w数据

img


问问大家——三列数据,每列数字部分以手机号为准,生成500w行随机不重复数据

sn和phone保持一致?

小魔女参考了bing和GPT部分内容调写:
可以使用Python来生成500w行随机不重复数据,首先需要准备三列数据,每列数字部分以手机号为准,然后可以使用Python的random模块来生成随机数据。

代码如下:

import random

# 定义三列数据
data1 = [13000000000, 13000000001, 13000000002, 13000000003, 13000000004]
data2 = [14000000000, 14000000001, 14000000002, 14000000003, 14000000004]
data3 = [15000000000, 15000000001, 15000000002, 15000000003, 15000000004]

# 定义一个空列表,用于存储生成的随机数据
data_list = []

# 循环500w次,每次生成一行随机数据
for i in range(5000000):
    # 从三列数据中随机取出一个数据
    data1_num = random.choice(data1)
    data2_num = random.choice(data2)
    data3_num = random.choice(data3)
    # 将取出的三个数据拼接成一行数据
    data_str = str(data1_num) + ',' + str(data2_num) + ',' + str(data3_num)
    # 将拼接好的数据添加到data_list中
    data_list.append(data_str)

# 将生成的500w行数据写入文件
with open('data.txt', 'w') as f:
    for data in data_list:
        f.write(data + '\n')

回答不易,记得采纳呀。

可以产生指定数量手机号后,再产生对应SN和mac即可,下面的例子以产生10行数据为例,代码仅用于学习研究之用:

代码如下:

参考链接:


https://zhuanlan.zhihu.com/p/593850776

https://zhidao.baidu.com/question/584943266.html

https://www.ycpai.cn/python/fvLfRKi2.html

https://baijiahao.baidu.com/s?id=1753175384727300951&wfr=spider&for=pc

https://www.techiedelight.com/zh/generate-random-letter-python/

import string,random

# https://baike.baidu.com/link?url=f9KzZSjoORQe0AvecEOKHnW8wwPEuYWlm-e-nMjR-lgjFxMUUhkrNZ2OkNd69tY-tZS9gxPc4luqqYgPZdTtAMGAcWb6zR0uX2ZsApLdH4eiVjrwTikCEzIJg5OKqU2C
# https://zhuanlan.zhihu.com/p/593850776


# https://zhidao.baidu.com/question/584943266.html
def createPhone(): #产生手机号
    pres=[130,131,132,155,156,185,186,134,135,136,137,138,139,150,151,152,157,158,159,182,183,187,188,133,153,180,181,189]
    backs=random.randint(1000000,99999999)
    phone = str(random.choice(pres)*100000000+backs);

    return phone
    

# https://www.ycpai.cn/python/fvLfRKi2.html

x=[]
length=10
for i in range(0,length):  #以产生10行数据作测试
    x.append(createPhone())


x=set(x) # 去除重复数据,少了项数,再添加数据的代码还有待添加 ,实际测试是可以一次性产生500w数据


#  https://baijiahao.baidu.com/s?id=1753175384727300951&wfr=spider&for=pc
result=[]  # 存储结果的 列表
with open('datas.txt','w') as file:  # 把结果写文件
    for t in x:
        #print(t)
        phone=t
        
        sn = "sn"+phone # 产生SN
        # https://www.techiedelight.com/zh/generate-random-letter-python/
    
        # 产生mac
        m = [int(phone[1:3]),int(phone[3:5]),int(phone[5:7]),int(phone[7:9]),int(phone[9:11])]
        mac = random.choice(string.ascii_letters).upper()+'1:'+':'.join(map(lambda x: "%02d" % x,m )).upper()

        result.append([mac,sn,phone])
        #写数据
        file.write(mac+" "+sn+" "+phone+"\n")  


#for i in result:   
  #  print(i)
    

    

img