我附上了一张excel表格,并在下面的python代码的帮助下,我试图获取那些有安全标记少于40或者出勤率低于75%的滚动数字。
但是每次运行代码时我都会遇到错误信息:
追踪(最近一次通话): 87.0 文件“C:/ Users / Shubham Mishra / PycharmProjects / Python / jacc.py”,第11行,in value1 =(int)(worksheet.cell(i,2).value) ValueError:int()的基数为10的无效文字:'出勤'
import xlrd
workbook=xlrd.open_workbook('log.xls')
worksheet=workbook.sheet_by_index(0)
print(worksheet.cell(1,2).value)
i=1
n=6
for i in range(n):
value1 = (int)(worksheet.cell(i, 2).value)
value2 = (worksheet.cell(i, 3).value)
if ((value1<=75) or (value2<=40)):
print(worksheet.cell(i,1))
答案 0 :(得分:1)
代码中的主要问题是range
函数以0开头
所以第一个循环的迭代是:
value1 = (int)(worksheet.cell(0, 2).value)
对应于“出勤”字符串。
这是因为你有这个错误。
你应该考虑改变你的代码:
n=7
for i in range(1, n):
value1 = (int)(worksheet.cell(i, 2).value)
value2 = (worksheet.cell(i, 3).value)
if ((value1<=75) or (value2<=40)):
print(worksheet.cell(i,1))
请注意n
等于7而不是6。