Я не могу заставить функцию sheetnames работать в openpyxl - PullRequest
0 голосов
/ 26 октября 2018

Надеюсь, я не дублирую темы. Хорошо выглядел и не смог найти никого, кто бы имел такую ​​же проблему.

Я использую последнюю версию openpyxl (скачано и установлено с помощью pip сегодня!)

Все, что я пытаюсь сделать, это вызвать имена листов в определенном файле Excel, и, независимо от того, что я пытаюсь, функция листов не будет работать.

Я получаю ошибку:

Traceback (most recent call last):
File "C:/Users/JeremyAinley/AppData/Local/Programs/Python/Python37-32/xlsx reader/get sheetnames.py", line 9, in <module>
sheetnames = wb.sheetnames
AttributeError: 'Worksheet' object has no attribute 'sheetnames'

Вот мой код:

import openpyxl
import os
from openpyxl import Workbook
from openpyxl import load_workbook


wb = load_workbook(r'C:\Users\Jeremy\Desktop\FilesZ\PDT.xlsx')
sheetnames = wb.sheetnames
print(sheetnames)
ws = wb.active

Любая помощь будет принята с благодарностью!

Спасибо!

1 Ответ

0 голосов
/ 26 октября 2018

Как было предложено в комментариях, ваша проблема заключается в том, что вы присваиваете wb.active для wb, что будет означать, что wb уже не рабочая книга, а активный лист в указанной рабочей книге.Чтобы это исправить, нам просто нужно переименовать наши переменные:

import openpyxl
import os
from openpyxl import Workbook
from openpyxl import load_workbook

wb = load_workbook(r'C:\Users\Jeremy\Desktop\FilesZ\PDT.xlsx')
active_workbook = wb.active
names = wb.sheetnames
print(names)
...