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

使用pathlib结合DataFrame中路径值匹配文件失败问题求助

代码修正方案

错误原因

你的代码存在2个核心问题:

  • 取值逻辑错误:遍历DataFrame的iterrows()方法时,每一轮循环拿到的row对象才是当前行的数据,你写的df['Search2']、df['filename']取到的是整列的全部值,不是当前行对应的路径和文件名。
  • 变量误用引号包裹:你在Path('Search')和rglob('filename')里把变量名加了引号,Python会直接把它们识别成固定字符串Search、filename,不会读取对应变量里存储的实际内容。

修正后代码

from pathlib import Path
for index, row in df.iterrows():
    # 取当前行的路径和文件名变量
    search_path = row['Search2']
    match_filename = row['filename']
    # 直接传入变量,不要加引号
    for path in Path(search_path).rglob(match_filename):
        print(path) 

如果DataFrame行数特别多,想优化性能可以直接遍历两列的配对值,写法如下:

from pathlib import Path
for search_path, match_filename in zip(df['Search2'], df['filename']):
    for path in Path(search_path).rglob(match_filename):
        print(path)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 13:51:03