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

T-SQL如何多次提取分隔符间的字符串并插入到新列中

这个需求完全可以实现,不受文件夹名称长度、路径层级影响,核心逻辑是将路径按分隔符\拆分为独立片段后,按需拼接前N段即可,以下是不同常用工具的实现方案:

Excel 公式实现

假设你的FolderPath数据存放在A列,从A2行开始,对应新列公式如下:

  • RootDirectory(取前2段路径):
    适配Excel 365/2021及以上版本:=TEXTJOIN("\",TRUE,INDEX(TEXTSPLIT(A2,"\"),,{1,2}))
    适配Excel低版本:=LEFT(A2,FIND("\",A2,FIND("\",A2)+1)-1)
  • SubDirectory(取前3段路径):
    高版本:=TEXTJOIN("\",TRUE,INDEX(TEXTSPLIT(A2,"\"),,{1,2,3}))
    低版本:=LEFT(A2,FIND("\",A2,FIND("\",A2,FIND("\",A2)+1)+1)-1)
  • SubSubDirectory(取前4段路径):
    高版本:=TEXTJOIN("\",TRUE,INDEX(TEXTSPLIT(A2,"\"),,{1,2,3,4}))
    低版本可嵌套FIND函数查找对应分隔符位置后截取。

Power Query 实现

适合批量处理大量数据,步骤更简洁不易出错:

  • 将数据表导入Power Query编辑器,选中FolderPath列
  • 依次添加自定义列:
    RootDirectory:Text.Combine(List.FirstN(Text.Split([FolderPath],"\"),2),"\")
    SubDirectory:Text.Combine(List.FirstN(Text.Split([FolderPath],"\"),3),"\")
    SubSubDirectory:Text.Combine(List.FirstN(Text.Split([FolderPath],"\"),4),"\")
  • 调整列顺序后导出到Excel表格即可,需要提取更多层级时仅需修改List.FirstN的第二个参数即可。

Python Pandas 实现

适合处理十万行以上的大规模数据集:

import pandas as pd

# 读取你的数据,此处以读取Excel为例
df = pd.read_excel("你的文件路径.xlsx")

# 按反斜杠拆分路径,过滤掉路径末尾反斜杠产生的空值
df['path_parts'] = df['FolderPath'].str.split(r'\\').apply(lambda x: [i for i in x if i])

# 按需拼接对应层级的路径片段
df['RootDirectory'] = df['path_parts'].apply(lambda x: '\\'.join(x[:2]))
df['SubDirectory'] = df['path_parts'].apply(lambda x: '\\'.join(x[:3]))
df['SubSubDirectory'] = df['path_parts'].apply(lambda x: '\\'.join(x[:4]))

# 删除临时拆分列,输出结果
df = df.drop('path_parts', axis=1)
df.to_excel("结果文件.xlsx", index=False)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 19:45:03