在通过 Python 运行时维护 Excel 工作簿的 Power Query 连接

Posted

技术标签:

【中文标题】在通过 Python 运行时维护 Excel 工作簿的 Power Query 连接【英文标题】:Maintaining Power Query connections for Excel workbook when it's run through Python 【发布时间】:2021-03-02 20:12:48 【问题描述】:

我有几个大型数据框,我将它们粘贴到预先制定的 Excel 模板工作簿中。该模板设置为在不同选项卡中的表之间有几个强大的查询连接,这些连接由 Python 的数据框填充。

在模板通过 Python 代码并将数据框粘贴到其中并保存后,工作簿不再具有电源查询连接。

对于通过 Python 运行的 Excel 文件,是否有一种维护电源查询连接的好方法?

在拉入模板的代码部分和保存模板的部分下面粘贴:


copy_to_wb = load_workbook(filename=r'C:\test\Template.xlsx', data_only=False)
diff_tab = copy_to_wb['Between-File Inconsistencies']
first_tab = copy_to_wb['First']
second_tab = copy_to_wb['Second']

copy_to_wb.save(root.save_location)
messagebox.showinfo('Complete message','Program ran successfully! Check for your new file.')

【问题讨论】:

【参考方案1】:

您需要确保加载到 Excel 中的数据框被格式化为 Excel 中的表格,并且这些表格已连接到现有的 Power Query 连接。要将数据框转换为表格,请突出显示数据集并按 Ctrl + T 创建表格。然后,从功能区选项卡中,选择数据 > 从表/范围中获取数据。电源查询连接必须引用您刚刚在 Excel 中创建的表才能正常工作。

【讨论】:

以上是关于在通过 Python 运行时维护 Excel 工作簿的 Power Query 连接的主要内容,如果未能解决你的问题,请参考以下文章

python读写Excel

通过虚拟机查看时,Excel 2003 工作簿表单控件有时会调整大小

GetElementByID() VBA Excel 不工作

通过交互式用户的 Excel COM 自动化在用户注销时停止工作

通过 Pandas 将 Excel 字段导入 Python 时遇到问题 - 索引越界错误

Python:将图像和数据帧写入同一个 excel 文件