Python3,使用openpyxl读取单元格

Python3, using openpyxl to read cells

谢谢Tc Zhong 的帮助!打印值的正确方法是 print(cell[0].value)

---------这里是原题-----------------

我目前正在学习 python 从 xlsx 格式的电子表格中读取信息,并且我下载了 openpyxl。这是我的功能:

from openpyxl import load_workbook
book = load_workbook(filename = 'List.xlsx', data_only = True)
lst = book.active
def give_cell (workbook, start: str, end: str):
    cell_range = workbook[start:end]
    for cells in cell_range:
        print (cells.value)

当我 运行 这个在我的 python shell:

give_cell(lst, 'D3', 'D5')
Traceback (most recent call last):
  Python Shell, prompt 2, line 1
  File "/Users/Sophie/Documents/google search", line 7, in <module>
    print (cells.value)
builtins.AttributeError: 'tuple' object has no attribute 'value'

它告诉我“元组”对象没有属性 'value',但我不明白为什么它没有属性 'value',或者为什么 'print(cells.value)' 不起作用.我最初尝试了 print(cells),但它不会 return 单元格中的值,而是类似于

(<Cell 'lst'.D3>,)
(<Cell 'lst'.D4>,)
(<Cell 'lst'.D5>,)

我不太确定发生了什么。感谢您的帮助!

如图所示,它是一个元组,你需要使用cells[0].value来访问这个元组的第一个元素。