【发布时间】:2018-05-08 16:57:18
【问题描述】:
感谢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'
它告诉我'tuple'对象没有属性'value',但我不明白为什么它没有属性'value',或者为什么'print(cells.value)'不起作用。我最初尝试了 print(cells),但它不会返回单元格中的值,而是类似于
(<Cell 'lst'.D3>,)
(<Cell 'lst'.D4>,)
(<Cell 'lst'.D5>,)
我不太确定发生了什么。感谢您的帮助!
【问题讨论】:
标签: python-3.x printing openpyxl