Используя pandas, как прочитать только один лист из книги Excel, не загружая другие листы? - PullRequest
0 голосов
/ 06 марта 2020

Это немного отличается от похожих вопросов к этому. Я использую плагин FactSet для Excel, если кто-то знаком. У меня есть книга с несколькими вкладками, которые используют плагин FactSet для получения данных. Никаких проблем с этим.

Проблема в том, что FactSet создает скрытый кеш-лист для каждой книги Excel, который при чтении вызывает загрузку любого листа файла Excel с помощью python для возврата пустого DataFrame.

Я пробовал два метода для получения данных с листа, но оба метода загружают всю книгу, вызывая чтение файла кэша FactSet.

import pandas as pd

fname = 'facset_excel_file.xlsm'

# method 1
wb = pd.ExcelFile(fname)
symbols = pd.read_excel(wb, sheet_name='Symbols')  # returns empty DataFrame

# method 2
pd.read_excel(fname, sheet_name='Symbols')  # returns empty DataFrame

Так что мои вопросы, как я могу прочитать в одном листе без загрузки всей книги? Или можно исключить рабочий лист по имени при загрузке рабочей книги?

1 Ответ

0 голосов
/ 06 марта 2020

Вы можете использовать что-то вроде: файл может быть прочитан с использованием имени файла в виде строки или объекта открытого файла:

df = pd.read_excel(open('facset_excel_file.xlsm', 'rb'), sheet_name='123')

Попробуйте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...