You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python通过坐标读取Excel单元格报Worksheet无cell属性错误如何解决

报错原因

你通过xlutils.copy得到的wb是xlwt库的工作簿对象,对应的sh是xlwt.Worksheet实例,该类仅封装了写入相关的方法,没有提供cell()这类读取单元格的方法,因此抛出属性不存在的错误。

解决方案

方案1:同时保留读取、写入两个工作表对象(兼容原xlrd/xlwt技术栈)

读取操作直接用原始xlrd打开的工作表完成,写入操作用copy得到的可写工作表完成,修改后代码如下:

import xlrd
from xlutils.copy import copy

book = xlrd.open_workbook_xls("abc.xls", formatting_info=True)
# 保留原始只读工作表用于读取数据
read_sh = book.sheet_by_index(0)
wb = copy(book)
# 可写工作表仅用于写入
write_sh = wb.get_sheet(0)
a = 1

for i in range(10):
    # 用原始只读对象读取单元格
    cell1 = read_sh.cell(0,1)
    # 要打印单元格值可以取.value属性
    print(cell1.value)

    write_sh.write(i,0, a)
    print(a)
    a = a+1
wb.save("abc.xls")

如果需要获取单元格内容参与计算,直接调用read_sh.cell(row, col).value拿到对应数值/字符串即可。

方案2:更换为支持同时读写的库(新代码更推荐)

如果不需要兼容旧的技术栈,可以根据你处理的文件格式更换更易用的库:

  • 处理.xlsx格式:用openpyxl库,同一个工作表对象同时支持cell(row, column).value的读取和写入
  • 处理.xls格式:用xlwings库,可直接对接本地Excel程序实现双向读写

内容的提问来源于stack exchange,提问作者GCMeccariello

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 05:24:04