gpt4 book ai didi

Python XLRD 使用范围

转载 作者:行者123 更新时间:2023-11-28 22:40:13 34 4
gpt4 key购买 nike

我想将一个 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

有什么想法吗?

最佳答案

您可以使用以下命令从 XLS 文件中提取 block ,如下所示:

from itertools import product
import xlrd

workbook = xlrd.open_workbook(r"input.xls")
sheet = workbook.sheet_by_index(0)

# Build a cell lookup table
cell_refs = {xlrd.cellname(r, c) : (c, r) for r, c in product(range(sheet.nrows), range(sheet.ncols))}

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 range(start_row, end_row+1)]

def get_cells(excel_range):
start_range, end_range = excel_range.split(":")
return get_cell_range(*cell_refs[start_range], *cell_refs[end_range])


# Use numeric cell references
data = get_cell_range(0, 2, 3, 6) # A3 to D7
print(data)

# Use Excel range format
data = get_cells("A3:D7")
print(data)

xlrd 使用从 0 开始的列号和行号而不是 Excel 单元格名称。它只能使用 xlrd.cellname() 将 Excel 单元格引用从 col 行格式转换为 A1 格式,反之则不行。解决方法是使用该函数构建您自己的反向查找表。

注意:旧版本的 XLRD 支持 Excel XLSX 文件。现在仅支持 XLS 文件。对于 XLSX 文件,请考虑使用 openpyxlPandas

关于Python XLRD 使用范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33937236/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com