Используйте Python для чтения данных RTD из Excel - PullRequest
0 голосов
/ 10 апреля 2019

У меня есть файл Excel с внешней надстройкой, в которой есть настраиваемая формула для доступа к данным с клиентского сервера.Данные меняются каждые 5 минут, и мне нужно отслеживать обновленные данные каждые 5 минут.

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

=clientFormula("myvariable",,$B5,varID(C$4))

Где ячейки B5 иC4 имеют входные параметры.

Я не уверен ни в одном из следующих подходов, и поиск в Google тоже ничего не показывает.

(1) Есть ли способ прочитать выходные данные изПриведенная выше формула в самом Python без открытия файла Excel?

Если нет, то

(2) Есть ли способ обновить файл Excel с помощью Python и прочитать данные из Excel.т. е. каждый раз, когда выполняется код Python, он должен иметь возможность читать последнее значение с клиентского сервера, используя приведенную выше формулу, и продолжать выполнять другие действия с этой информацией.

Редактировать: я натолкнулся на эту статью но ответ с 2015 года.

1 Ответ

0 голосов
/ 09 июля 2019

Если я не правильно понял, это похоже на то, что я делаю.Я не смог использовать rtd клиент (пытаясь обойти данные Excel в реальном времени).Ячейки в моем случае связываются с thinkorswim (сервер rtd с данными фондовой биржи).Я открываю книгу, используя xlwings, и читаю значение изменения ячейки каждые несколько секунд.Если я напишу формулу (строку) из python в ячейку, я смогу это сделать, но получу # NAME?ошибка;если я нажимаю F2 и ENTER, это пишет правильное значение, но только это время.У меня была эта проблема при использовании: sheet.range ((x, y)). Value = list_of_formulasFormulaar = list_of_formulas

Вы должны использовать try / исключая, так как есть ошибки при чтении.

...