2016-11-15 7 views
0

Я хотел бы получить максимальное значение из 25-го столбца таблицы Excel с помощью xlrd. Вот что я сделал.Получите максимальное значение из колонки excel с помощью XLRD

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

Try:

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

Попробуйте это:

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() возвращает список всех значений в столбце вы упоминаете.

Надеюсь, что это поможет :)

 Смежные вопросы

  • Нет связанных вопросов^_^