正如标题所说,我希望它能读到“?”从excel表中,当它超过它时将其计为零。
for eachLine in train:
tempList=eachLine.split(',')
avg0=float(tempList[0])
ageL.append(avg0)
avg1=float(tempList[1])
sL.append(avg1)
avg2=float(tempList[2])
rbsL.append(avg2)
avg3=float(tempList[3])
fbsL.append(avg3)
avg4=float(tempList[4])
ogtL.append(avg4)
avg5=float(tempList[5])
hemo.append(avg5)
我知道它的丑陋,但它对我有用。任何帮助将不胜感激,谢谢。
答案 0 :(得分:2)
如果我理解你想要做什么,你应该创建一个函数来解析每个单元格并返回值的浮点数或检查问号。
def parse_cell(cell):
try:
return float(cell)
except ValueError:
if cell == "?":
return 0.0
raise
然后用这个函数替换每个浮点调用,即
avg0 = parse_cell(tempList[0])
答案 1 :(得分:-1)
directory = [ageL, sL, rbsL, fbsL, ogtL, hemo]
for eachLine in train:
tempList=eachLine.split(',')
for idx, data in tempList:
try:
directory[idx].append(float(data))
except ValueError:
directory[idx].append(0.)