【问题标题】:Use Python to read RTD data from excel使用 Python 从 excel 中读取 RTD 数据
【发布时间】:2019-04-10 15:32:13
【问题描述】:

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

因此,Excel 单元格中的公式如下所示:

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

单元格B5 和C4 有输入参数。

我不确定以下两种方法,谷歌搜索也没有透露太多信息。

(1)有没有办法在Python本身中读取上述公式输出的数据而不打开excel文件?

如果没有,

(2) 有没有办法使用Python刷新excel文件并从excel中读取数据。即每次 Python 代码运行时,它都应该能够使用上述公式从客户端服务器读取最新值,并继续使用该信息做其他事情。

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

【问题讨论】:

    标签: excel python-3.5 rtd


    【解决方案1】:

    如果我没有误会,这与我正在做的事情相似。 我未能使用 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,因为读取的时候有错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-16
      • 1970-01-01
      • 2015-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-03
      • 1970-01-01
      相关资源
      最近更新 更多