Python3, используя openpyxl для чтения ячеек - PullRequest
0 голосов
/ 08 мая 2018

Спасибо, Tc Zhong, за помощь! Правильный способ печати значения - печать (ячейка [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:

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 (cell.value)' не работает. Я изначально пробовал print (ячейки), но он не будет возвращать значение в ячейках, а что-то вроде

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

Я не совсем уверен, что происходит. Спасибо за помощь!

1 Ответ

0 голосов
/ 08 мая 2018

Как видно, это кортеж, вам нужно использовать cells[0].value для доступа к первому элементу этого кортежа.

...