使用python从excel表中获取数据时遇到问题

时间:2017-03-07 16:44:36

标签: python python-3.x

我附上了一张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))

enter image description here

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。