Не удается прочитать файл HDF при использовании xlwings - для HDFStore требуются PyTables - PullRequest
0 голосов
/ 05 марта 2019

Я пытаюсь создать различные пользовательские функции Excel в python, используя xlwings.Мои пользовательские функции зависят от значений, извлеченных из файла HDF.Однако каждый раз, когда я нажимаю кнопку «Функции импорта» в Excel, я получаю сообщение об ошибке.Ниже приведен пример.

import pandas as pd
import numpy as np
import xlwings as xw

matrix1 = pd.DataFrame(np.random.random(size = (1000, 1000)))
matrix2 = pd.DataFrame(np.random.random(size = (1000, 100)))

matrix1.to_hdf('matrix.h5', key = 'mat1', mode = 'w')
matrix2.to_hdf('matrix.h5', key = 'mat2', mode = 'a')

arg = pd.read_hdf('matrix.h5', key = 'mat2', mode = 'r')

@xw.func
def dummy(x, y):
   return 17

Когда я нажимаю кнопку «Функции импорта» на ленте xlwings в Excel, я получаю следующее

Error Message

Если я попытаюсь запустить программу с помощью Spyder, у меня не возникнет проблем, и я смогу просто сгенерировать файлы HDF

Интересно, что если я удаляю строки, в которые я записываю файл HDF, и просто оставляю строку, в которую я его читаю, я получаю сообщение об ошибке:

FileNotFoundError: File matrix.h5 does not exist ...

Даже если я подтвердил, чтофайл существует.Если я запускаю тот же код в Spyder, у меня нет проблем, он работает нормально.

Существует ли какая-то проблема совместимости с файлами xlwings и HDF, или я что-то упустил?

1 Ответ

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

Не могу видеть, что xlwings используются для чего-либо в примерах. Однако верно, что PyTables требуется. Попробуйте запустить pip install tables, чтобы установить его.

...