python读取文件并处理转化为list然后输出

根据用户特征生成用户的体力值

import xlrd
import numpy as np
import xlwt

data=xlrd.open_workbook("D:/PCstudy/data/Question_reults.xlsx")
table = data.sheets()[0]#选择第0张表

nrows = table.nrows  # 行数
ncols = table.ncols  # 列数
datamatrix = [] # 构造列表
for i in range(nrows):
        rows = table.row_values(i) #获取第i行的内容
        datamatrix.append(rows)  #写入数据
'''
打印列表:
for i in range(nrows):
 print(datamatrix[i])
'''
power0 = 10 #初始体力值为10
for i in range(nrows):
    power0 = 20  # 初始体力值为10,最高22,最低4
    if i==0:
        continue
    else:
        #对于第i个用户
        for j in range(ncols):
            if j==1: # 年龄
                age=datamatrix[i][j]
                if age == 0: # 1-15岁
                    power0-=2
                elif age == 1: # 16-26岁
                    power0+=2
                elif age == 2: # 27-37岁
                    power0+=4
                elif age == 3: #38-48岁
                    power0+=2
                elif age == 4: # 49-69岁
                    power0-=2
                else:
                    power0-=4
            elif j==2: #性别
                sex = datamatrix[i][j]
                if sex == 1: #男
                    power0+=4
            elif j==23: #职业
                stulv = datamatrix[i][j]
                if stulv == "在校学生":
                    power0+=4
                elif stulv == "教育工作者":
                    power0+=2
                elif stulv == "政府\\机关干部\\公务员":
                    power0+=2
                elif stulv == "外资企业从业者":
                    power0+=3
                elif stulv == "金融行业从业者":
                    power0-=1
                elif stulv == "互联网行业从业者":
                    power0-=2
                elif stulv == "自由职业者\\自媒体":
                    power0+=2
                elif stulv == "个体经营\\承包商":
                    power0+=3
                elif stulv == "其他管理工人\\职员":
                    power0+=1
                elif stulv == "农林牧渔劳动者":
                    power0+=3
                elif stulv == "退休":
                    power0+=1
                else:
                    power0+=1
    #print(power0)
    datamatrix[i].append(power0)

#增加体力值
ncols+=1
datamatrix[0].append("体力值")
for i in range(nrows):
 print(datamatrix[i])

#保存到excel
workbook=xlwt.Workbook(encoding='utf-8')#创建一个excel文件
booksheet=workbook.add_sheet('Sheet 1', cell_overwrite_ok=True)#创建sheet工作表
for i,row in enumerate(datamatrix):
  for j,col in enumerate(row):
    booksheet.write(i,j,col)
workbook.save('D:/PCstudy/data/Question_reults_end.xls')#保存文件
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值