mk8*_*efz 6 python excel pandas
我有一个Excel文件,我运行Python脚本.Excel文件具有外部数据连接,需要在运行Python脚本之前刷新.我所指的功能在这里:
我正在使用Python 2.7并且依赖于Pandas进行大多数Excel数据解析.
如果您使用的是Windows,并且我相信您已获得屏幕截图,则可以使用该win32com模块.它将允许您 - 从python - 打开Excel,加载工作簿,刷新所有数据连接,然后退出.语法最终非常接近VBA.
我建议你pypiwin32通过pip(pip install pypiwin32)安装.
import win32com.client
# Start an instance of Excel
xlapp = win32com.client.DispatchEx("Excel.Application")
# Open the workbook in said instance of Excel
wb = xlapp.workbooks.open(<path_to_excel_workbook>)
# Optional, e.g. if you want to debug
# xlapp.Visible = True
# Refresh all data connections.
wb.RefreshAll()
wb.Save()
# Quit
xlapp.Quit()
Run Code Online (Sandbox Code Playgroud)
小智 6
添加此作为答案,因为这是第一个 Google 链接 - 第一个答案中的代码有效,但大小写不正确,应该是:
import win32com.client
import time
xlapp = win32com.client.DispatchEx("Excel.Application")
wb = xlapp.Workbooks.Open(<path_to_excel_workbook>)
wb.RefreshAll()
time.sleep(5)
wb.Save()
xlapp.Quit()
Run Code Online (Sandbox Code Playgroud)
小智 6
CalculateUntilAsyncQueriesDone()将保存该程序,并等待刷新完成。
xlapp = win32com.client.DispatchEx("Excel.Application")
wb = xlapp.Workbooks.Open(<path_to_excel_workbook>)
wb.RefreshAll()
xlapp.CalculateUntilAsyncQueriesDone()
wb.Save()
xlapp.Quit()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13579 次 |
| 最近记录: |