使用python自动生成病例数据并导出excel(附代码)

 因为实验需要处理大量的数据,便考虑进行自动生成,结果如下

 

 

 

代码如下 

import time
import random
province=['河北','山西','辽宁','吉林','黑龙江','江苏','浙江','安徽',
         '福建','江西','山东','河南','湖北','湖南','广东','海南',
          '四川','贵州','云南','陕西','甘肃','青海','台湾','内蒙古',
          '广西','西藏','宁夏','新疆','北京','天津',
          '上海','重庆','香港','澳门']
sex=['男','女']
ill=['是','否']

a1=(2020,1,1,0,0,0,0,0,0)              #设置开始日期时间元组(1976-01-01 00:00:00)
a2=(2022,3,31,23,59,59,0,0,0)    #设置结束日期时间元组(1990-12-31 23:59:59)
start=time.mktime(a1)    #生成开始时间戳
end=time.mktime(a2)      #生成结束时间戳

def productDate(start, end):
    t = random.randint(start, end)  # 在开始和结束时间戳中随机取出一个
    date_touple = time.localtime(t)  # 将时间戳生成时间元组
    date = time.strftime("%Y-%m-%d", date_touple)  # 将时间元组转成格式化字符串(1976-05-21)
    return date
def productProvince(province):
    t = random.randint(0,33)
    provin=province[t]
    return provin
def productAge():
    age = random.randint(10,80)
    return age
def productSex(sex):
    t = random.randint(0,1)
    return sex[t]
def productOtherIll(ill):
    t = random.randint(0,1)
    return ill[t]
def productCured(ill):
    t = random.randint(0,1)
    return ill[t]
print(len(province))
# 最终数据
data=[]
# 单条数据
single=[]

# print('年龄','性别','地区','发现日期','是否有其他慢性病','是否康复')
for j in range(1000000):        #生成1000000条数据
    date=productDate(start, end)
    provin=productProvince(province);
    age=productAge();
    se=productSex(sex);
    i=productOtherIll(ill)
    c=productCured(ill)
    single=[age,se,provin,date,i,c]
    data.append(single)
    print(j)
print(data)

result = open('data.xls', 'w', encoding='gbk')
result.write('年龄\t性别\t地区\t发现日期\t是否有其他慢性病\t是否康复\n')
for m in range(len(data)):
    for n in range(len(data[m])):
        result.write(str(data[m][n]))
        result.write('\t')
    result.write('\n')
result.close()

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值