用于刷新电子表格的python脚本';s彭博社数据

用于刷新电子表格的python脚本';s彭博社数据,python,excel,python-3.x,bloomberg,Python,Excel,Python 3.x,Bloomberg,我有一堆excle表格,可以拉入彭博社的日终数据,我用Python处理各种事情。我的问题如下: 有没有办法告诉工作表更新彭博数据 传统的“全部刷新”不起作用,就像在excel中点击f9不会刷新它们一样。我知道的唯一方法是(在excel中)单击彭博标签下的刷新图标,两个箭头。我很想把它自动化 这就是我现在拥有的: import win32com.client import time def refr_sheet(): app_global = win32com.client.Dispat

我有一堆excle表格,可以拉入彭博社的日终数据,我用Python处理各种事情。我的问题如下:

有没有办法告诉工作表更新彭博数据

传统的“全部刷新”不起作用,就像在excel中点击f9不会刷新它们一样。我知道的唯一方法是(在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计算公式,但不会刷新彭博(=BHD类型)公式

欢迎任何建议

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

子刷新_bbg()

“根据您的设置,可能值得检查此处是否安装了彭博api,如果没有安装,则进行安装。”

Aptual.Run(“BurBurgGuix.LLA!刷新手册”)

端接头

然后在python中

global\u sprdsheet.Application.Run(“global.xlsm!refresh\u bbg”)

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