我有一堆摘录来获取Bloomberg日终数据,这些数据用于Python中的各种操作。我的问题如下:

有没有办法告诉工作表刷新Bloomberg数据?

传统的刷新全部无效,就像在excel中按f9不会刷新它们一样。我知道怎么做的唯一方法是在Bloomberg选项卡下单击(在excel中)刷新图标(两个箭头)。我很想自动化。

这就是我现在所拥有的:

import win32com.client
import time

def refr_sheet():
    app_global = win32com.client.Dispatch("Excel.Application")
    global_sprdsheet = app_global.Workbooks.open('C:\\Users\\Ako\\Desktop\\ako_files\\work_sheets\\global.xlsx')
    global_sprdsheet.RefreshAll()
    time.sleep(12)
    global_sprdsheet.Save()
    global_sprdsheet.Close()
    app_global.Quit()


它适用于重新计算一般的excel calc公式,但不会刷新Bloomberg(= BHD类型)公式。

欢迎任何建议!

最佳答案

有两种选择:
简单的解决方案
在工作表中创建宏(将需要创建文件xlsm而不是xlsx)

子refresh_bbg()

'取决于您的设置,可能值得检查Bloomberg api是否已安装在此处,如果没有安装,则应进行安装。

Application.Run(“ bloombergui.xla!RefreshEntireWorkbook”)

结束子

然后在python中

global_sprdsheet.Application.Run(“ global.xlsm!refresh_bbg”)

但是我认为更好的解决方案是通过tia或pdblp在python中进行bbg数据收集。然后将数据写入文件。以我的经验,这是更可靠的。

关于python - python脚本刷新电子表格的BLOOMBERG数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42423135/

10-11 09:23