使用 Python 获取文件夹中的数据以向 Power BI 提供 excel 文件

Posted

技术标签:

【中文标题】使用 Python 获取文件夹中的数据以向 Power BI 提供 excel 文件【英文标题】:Getting data in a folder with Python to provide excel files to Power BI 【发布时间】:2020-05-08 21:41:05 【问题描述】:

我一直在尝试这样做,但首先我想知道这是否可能。 我的计算机上有一个 power bi 文件,它每天在特定文件夹中的文件夹中获取一个文件。 我希望能够使用 python 脚本自动将此 execel 文件提供给我每天在给定时间拥有的 PBI 文件。

我找到了以下代码,但我遇到了问题,尽管安装了 pip。

pbixrefresher <WORKBOOK> [-workspace <WORKSPACE>] [--refresh-timeout <REFRESH_TIMEOUT>] [--no-publish]

我正在做的事情实际上是可能的,还是不可能的?

【问题讨论】:

看起来是一个相当脆弱的解决方案。为什么不将 Excel 文件同步到 SharePoint,然后在 PBI 服务中安排数据集刷新? 感谢您的回答。为什么它很脆弱?如果没有网关,您的建议是否可行?如果我没有共享点怎么办?例如,在团队之类的情况下是否有可能? 它很脆弱,因为您需要安排一个运行 PBI Desktop GUI 的 Python 脚本,并且您的本地计算机需要运行,同时您不能将 PBI Desktop 用于其他目的。相当多的限制,对吧?另一方面:SharePoint 是免费的,MSTeams 基于 SharePoint,您不需要网关即可从 SharePoint/MSTeams 刷新。 感谢您的回答。 Teams 是基于 sharepoint 的吗?这真的很有趣!所以这会奏效吗?我把我的文件放在两个团队中,可以吗?但是,如果新文件日复一日地到来怎么办? BPI 会知道最后一个是好的吗?我一直在调查,onedrive 似乎也是一个潜在的视角。 Python 脚本运行时我不能使用 PBI? SharePoint(服务器)和 Onedrive(接口)是同一枚硬币的两面。如果您将更新的文件同步到 Teams/SharePoint ,PowerQuery 将采用最新版本。如果您使用其他名称,PowerQuery 将直接忽略它。 【参考方案1】:

从 SharePoint 文件夹中读取最新文件在 PowerQuery 中是一项相当简单的任务:如果您在 MSTeams 中,请转到您频道的文件部分并“在 SharePoint 中打开”。然后复制浏览器中显示的路径的第一部分,即 "/Shared%20Documents/Forms/AllItems.aspx ..."

之前的所有内容

在 PBI Desktop 中,您从 “SharePoint 文件夹” 中选择“获取数据”并粘贴复制的 url。然后根据您的需要过滤记录,并按“修改日期” 列降序排列。最后,您选择“保持顶部行”,number=1,然后单击 “Contents” 列中的 “Binary”,您将获取您的数据。

【讨论】:

谢谢。我正在用三种不同的配置测试这方面的一些东西:在我的桌面上的一个文件上(在这种情况下,我的 BPI 仅在我单击刷新时刷新),在一个团队中的一个文件上,其中包含您为已发布报告所描述的内容(在这种情况下报告每天刷新)。

以上是关于使用 Python 获取文件夹中的数据以向 Power BI 提供 excel 文件的主要内容,如果未能解决你的问题,请参考以下文章

python中的pow()函数解释

在哪个事件中,我可以使用 PushSharp 获取 GCM 响应以向 Android 设备发送通知?

python中pow运算?

Python的pow函数

python函数深入浅出 11.math.pow()及其相关函数详解

有啥方法可以从 google contact api v3 检索 account_id 以向 google people api 发出获取请求?