Python XLRD使用Range

我想给一个variables分配一个excel范围:

import xlrd file = r"C:\Users\Lisa\Desktop\Frank\export.XLSX" book = xlrd.open_workbook(file) sheet = book.sheet_by_index(0) data = [range("A3:D7")] 

,但我得到一个错误:

  data = [range("A3:D7")] TypeError: 'str' object cannot be interpreted as an integer 

有任何想法吗?

您可以使用以下从XLSX文件中提取块,如下所示:

 import xlrd workbook = xlrd.open_workbook(r"input.xlsx") sheet = workbook.sheet_by_index(0) def get_cell_range(start_col, start_row, end_col, end_row): return [sheet.row_slice(row, start_colx=start_col, end_colx=end_col+1) for row in xrange(start_row, end_row+1)] data = get_cell_range(0, 2, 3, 6) # A3 to D7 print data 

xlrd使用从0开始的列和行号而不是Excel单元格名称。 它只能使用xlrd.cellname()将col列格式的Excel单元格引用转换为A1格式,而不是相反。