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

PySpark中使用正则提取文件路径中hone/后的指定字符串

用PySpark批量提取路径指定片段

直接用PySpark内置的regexp_extract函数就能一行完成批量处理,无需递归操作。

实现代码

假设你的文件路径存储在DataFrame的file_path列中,执行以下代码:

from pyspark.sql import functions as F

# 新增列存储提取出的目标字符串
df = df.withColumn(
    "target_str",
    F.regexp_extract("file_path", r"hone/(\d+)_", 1)
)

正则表达式说明

  • hone/:匹配路径中固定的分界前缀
  • (\d+):捕获需要的连续数字串(对应示例里的120009163)
  • _:匹配数字串后的分界符(如果实际分隔符是-,直接将此处替换为-即可)
  • 最后一个参数1表示提取正则表达式中第一个捕获组的内容

效果验证

对于示例路径abfss://or01@intadlsgen2naprod.dfs.core.windows.net/alicona/hone/ 120009163_6722508_.csv,处理后target_str列的值即为120009163。

该方法会自动遍历DataFrame所有行完成批量处理,依托PySpark的分布式特性,处理大量路径时效率有保障。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 06:15:43