我想使用xlrd从excel电子表格的第25列获取最大值。这就是我所做的。
import xlrd
book = xlrd.open_workbook("File Location\Filename.xlsx")
sheet = book.sheet_by_index(0)
def follow_up():
col = 24
row = 1
max = 1
while row < 100:
a = sheet.cell(row, col).value
if a>max:
return a
else:
return max
row+=1
print(follow_up())
我遇到的问题是列中的值小于100的单元格(给我IndexError),并且代码不适用于列中值超过100的单元格。如果我知道如何获取列中的值数,则可以修复此问题。但我想知道是否有人知道一种“更清洁”的方式来做到这一点。
非常感谢。
答案 0 :(得分:2)
尝试:
import xlrd
book = xlrd.open_workbook("File Location\Filename.xlsx")
sheet = book.sheet_by_index(0)
def follow_up():
col = 24
return max(sheet.col_values(col))
print(follow_up())
我希望这会有所帮助。
答案 1 :(得分:1)
试试这个:
import xlrd
book = xlrd.open_workbook("File Location\Filename.xlsx")
sheet = book.sheet_by_index(0)
def follow_up():
col = 24
return max(sheet.col_values(col, start_rowx=1, end_rowx=101))
#with start_rowx and end_rowx you can define the range
#we start with 1 so as to skip the header row
print(follow_up())
col_values()
会返回您提及的列中所有值的列表。
希望这会有所帮助:)