使用XLRD从excel列获取最大值

时间:2016-11-15 17:31:20

标签: python excel spreadsheet xlrd

我想使用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的单元格。如果我知道如何获取列中的值数,则可以修复此问题。但我想知道是否有人知道一种“更清洁”的方式来做到这一点。

非常感谢。

2 个答案:

答案 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()会返回您提及的列中所有值的列表。

希望这会有所帮助:)