Tre*_*era 4 python excel range xlrd
我想为一个变量分配一个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")]
Run Code Online (Sandbox Code Playgroud)
,但我收到一个错误:
data = [range("A3:D7")]
TypeError: 'str' object cannot be interpreted as an integer
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
您可以使用以下内容从 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
Run Code Online (Sandbox Code Playgroud)
xlrd使用从而0不是 Excel 单元格名称开始的列号和行号。它只能将 Excel 单元格引用从 col 行格式转换为A1使用 格式xlrd.cellname(),而不是相反。