我有一堆摘录来获取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/