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

Power BI中运行Python自动获取最新CSV脚本报错求助

问题分析

你的代码在Jupyter正常但Power BI报错,核心原因是os.listdir(path)返回的是仅文件名,而非完整文件路径。当你用os.path.getmtime(file)时,系统会在Power BI的当前工作目录下查找该文件,而非你指定的path目录,因此触发FileNotFoundError。Jupyter中正常是因为它的当前工作目录恰好和path一致,但Power BI的工作目录不同。

修复后的代码
import os
import pandas as pd

path = r'C:/Users/myname/OneDrive/folder/'

# 生成包含完整路径的CSV文件列表
csv_files = [os.path.join(path, file) for file in os.listdir(path) if file.endswith('.csv')]

# 先检查是否存在CSV文件,避免空列表报错
if not csv_files:
    raise FileNotFoundError("指定文件夹中未找到任何CSV文件")

# 基于完整路径获取最新文件
most_recent_file = max(csv_files, key=os.path.getmtime)
df = pd.read_csv(most_recent_file)
df  # Power BI需要返回DataFrame才能识别
关键修改点
  • 将CSV文件列表改为完整路径:os.path.join(path, file)确保每个元素都是带路径的文件名,os.path.getmtime能正确找到文件。
  • 添加空列表检查:避免文件夹中无CSV时max()函数报错。
  • 最后返回DataFrame:Power BI需要Python脚本输出可识别的数据集,所以必须返回读取后的DataFrame。
额外说明

如果你之前用固定路径能正常运行,是因为固定路径本身包含完整路径,系统能直接定位到文件。修改后的代码无需每次改路径,满足自动化需求。

内容的提问来源于stack exchange,提问作者E_Sarousi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 09:23:14