You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Power BI中使用Python获取数据时引用已有表动态设置文件路径的实现问询

在Power BI中使用Python获取数据时引用已有表动态设置文件路径的实现问询

当然可以实现这个需求啦!我来给你一步步拆解操作方法:

核心思路

Power BI和Python的集成支持直接在脚本中访问已经加载到数据模型里的表,所以我们可以直接读取reviews表,筛选出最新行的attachment路径,再传给你的提取函数。

具体实现步骤

  1. 确保reviews表已加载:先确认你的reviews表已经通过Power BI的「获取数据」功能加载到数据模型中,这样Python脚本才能访问到它。
  2. 修改Python脚本:把原来硬编码filename的逻辑,改成从reviews表动态提取的逻辑,示例代码如下:
import pandas as pd

def extract_findings(filename):
    # 保留你原有的docx提取逻辑,不用改动
    ...

# 读取Power BI中已加载的reviews表(表名要和Power BI里的完全一致)
reviews_df = pd.DataFrame(reviews)

# 方式1:按时间列排序取最新行(推荐,准确性更高)
# 假设你的reviews表有类似'review_date'的时间列,用来判断最新记录
latest_review = reviews_df.sort_values(by='review_date', ascending=False).iloc[0]

# 方式2:如果没有时间列,取最后一行(注意:数据加载顺序可能影响结果)
# latest_review = reviews_df.iloc[-1]

# 提取attachment列的文件路径
filename = latest_review['attachment']

# 调用提取函数生成结果表
findings_df = extract_findings(filename)
findings_df
  1. 额外的容错处理(可选但推荐):为了避免attachment列为空或路径无效导致报错,可以加个简单的判断:
if pd.notna(filename) and filename.strip():
    findings_df = extract_findings(filename)
else:
    # 路径为空时的处理逻辑,比如生成空表或提示信息
    findings_df = pd.DataFrame(columns=['你的列名1', '你的列名2'])

注意事项

  • 确保reviews表的名称在Python脚本中拼写完全一致(Power BI会把表名作为变量直接传入Python环境)。
  • 若使用网络共享路径,要保证Power BI运行的账号有访问该路径的权限。
  • 如果reviews表数据量很大,排序取第一行的操作效率也很高,不用担心性能问题。

备注:内容来源于stack exchange,提问作者carly m

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 13:38:01