#python #pandas #pytables #xlwings
#python #панды #питаблы #xlвинги #pandas #pytables #xlwings
Вопрос:
Я пытаюсь создать различные UDF-файлы Excel на python с помощью xlwings. Мои UDF-файлы основаны на значениях, извлеченных из файла 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, я получаю следующее
Если я попытаюсь запустить программу с помощью Spyder, у меня не возникнет проблем, и я смогу сгенерировать файлы HDF просто отлично.
Интересно, что если я удалю строки, в которых я записываю файл HDF, и просто оставлю ту, в которой я его прочитал, я получу сообщение об ошибке
FileNotFoundError: File matrix.h5 does not exist ...
Хотя я подтвердил, что файл действительно существует. Если я запускаю тот же код в Spyder, у меня не возникает проблем, он работает нормально.
Есть ли какая-то проблема с совместимостью с файлами xlwings и HDF, или я что-то упускаю?
Ответ №1:
Не вижу, чтобы xlwings использовался для чего-либо в примерах. Однако верно, что PyTables требуются. Попробуйте запустить pip install tables
для его установки.
Комментарии:
1. К сожалению, это не решает проблему. Когда я запускаю,
pip install tables
я получаю несколько строк, в которых говорится,Requirement already satisfied
что наводит меня на мысль, что он уже установлен. У меня нет проблем с запуском файлов в моей IDE, но когда я пытаюсь загрузить функции в Excel через «Импорт функций», я получаю сообщение об ошибке.