如何在Pandas DataFrame中提取路径最后反斜杠后的内容?
提取Windows路径最后一段内容的Pandas实现
针对需求,这里提供三种可靠的实现方式:
方法1:使用os.path.basename(推荐,跨平台兼容)
Python的os.path模块专为路径处理设计,basename方法可直接返回路径的最后一部分,无需处理反斜杠转义,还能兼容不同操作系统的路径格式:
import pandas as pd import os # 构造示例DataFrame df = pd.DataFrame({ "ID": [1, 2], "Location": [ r"C:\Users\user1\Documents\fb_working\Testdata\Patterns\NLP Patterns", r"C:\Users\user1\Documents\fb_working\Testdata\Patterns\NLP Patterns" ] }) # 新增目标列 df["New_Location"] = df["Location"].apply(os.path.basename)
方法2:字符串分割str.split
由于反斜杠在Python中是转义字符,需用原始字符串或双反斜杠作为分隔符:
# 方式A:原始字符串分隔符 df["New_Location"] = df["Location"].str.split(r"\\").str[-1] # 方式B:双反斜杠转义 df["New_Location"] = df["Location"].str.split("\\").str[-1]
分割后取列表最后一个元素,即可得到路径的最后一段内容。
方法3:正则表达式str.extract
通过正则匹配最后一个反斜杠之后的所有内容:
df["New_Location"] = df["Location"].str.extract(r"[^\\]+$")
正则表达式[^\\]+$表示匹配字符串末尾所有非反斜杠的字符,精准定位路径最后一段。
内容的提问来源于stack exchange,提问作者noobatexcel
相关产品推荐
相关产品推荐

