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

如何从DataFrame路径列提取文件名并移除可变的images/[数字]/前缀

移除DataFrame路径列中的固定前缀部分

针对需要移除filename列中images/[数字]/前缀的需求,这里提供几种简洁的实现方式:

方法1:正则表达式替换

利用正则匹配images/+任意数字+/的前缀模式,直接替换为空字符串:

import pandas as pd

# 读取无表头的空格分隔数据
data = pd.read_csv('/media/cvpr/CM_24/synthtiger/results/gt.txt', sep="\s+", header=None)
# 设置列名
data.columns = ['filename', 'words']

# 移除前缀:匹配以images/数字/开头的部分并替换为空
data['filename'] = data['filename'].str.replace(r'^images/\d+/', '', regex=True)

# 保存为csv(index=False避免生成默认索引列)
data.to_csv('labels.csv', index=False)

方法2:字符串分割取最后一段

不管中间的数字是什么,直接通过分割路径取最后一段文件名:

import pandas as pd

data = pd.read_csv('/media/cvpr/CM_24/synthtiger/results/gt.txt', sep="\s+", header=None)
data.columns = ['filename', 'words']

# 按/分割路径,取最后一个元素
data['filename'] = data['filename'].str.split('/').str[-1]

data.to_csv('labels.csv', index=False)

方法3:用pathlib处理路径(更优雅的路径操作方式)

借助Python内置的pathlib模块专门处理路径,提取文件名:

import pandas as pd
from pathlib import Path

data = pd.read_csv('/media/cvpr/CM_24/synthtiger/results/gt.txt', sep="\s+", header=None)
data.columns = ['filename', 'words']

# 提取路径中的文件名部分
data['filename'] = data['filename'].apply(lambda x: Path(x).name)

data.to_csv('labels.csv', index=False)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 03:42:09