使用Python从excel读取RTD数据

时间:2019-04-10 15:32:14

标签: excel python-3.5 rtd

我有一个带有外部加载项的excel文件,该加载项具有用于从客户端服务器访问数据的自定义公式。数据每5分钟更改一次,我需要每5分钟跟踪一次更新的数据。

因此,excel单元格中的公式如下:

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

其中单元格B5C4具有输入参数的地方。

我敢肯定,以下两种方法都不会,而且Google搜索也不会透露太多。

(1)是否可以在不打开excel文件的情况下在Python本身中读取上述公式的数据输出?

如果没有,

(2)有没有一种方法可以使用Python刷新excel文件并从excel读取数据。也就是说,每次运行Python代码时,它都应该能够使用上述公式从客户端服务器读取最新值,然后继续对该信息进行其他操作。

编辑: 我确实遇到过这个article,但答案来自2015年。

1 个答案:

答案 0 :(得分:0)

如果我不误解,那与我正在做的事情类似。 我无法使用rtd客户端(试图绕过excel实时数据)。 在我的案例中,这些单元与thinkorswim(带有证券交易所数据的RTD服务器)进行通信。我使用xlwings打开工作簿,每隔几秒钟读取一次单元更改值。 如果我将python的公式(字符串)写到单元格上,我可以做,但是给我一个#¿NAME吗?错误;如果我按F2并按ENTER,它将写入正确的值,但仅在那时。使用时遇到了这个问题:     sheet.range((x,y))。value = list_of_formulas     sheet.range((x,y))。formula = list_of_formulas 并成功:     sheet.range((x,y))。formula_array = list_of_formulas

您必须使用try / except,因为读取时会出错。