最近项目遇到一系列批量操作的问题,由于数据量巨大,如果人工操作的话会耽误很多时间,所以写了一个脚本可以批量操作数据。
具体问题描述
有一个图片路径和标签的csv文件,由于路径的改变,原来路径为pokemon/center/center_1118.tif 我想让路径只变成单一的文件名比如center_1118.tif。
具体实现
import os
import csv
images, labels = [], []#初始化两个list数组分别存放csv文件里图片路径和标签
with open('images&labels.csv') as f:#读入原来的csv文件
reader = csv.reader(f)
for row in reader:
img, label = row#将每行读入的内容分别赋给新的变量
label = int(label)
images.append(img)#将读入的图片路径加到list数组中
labels.append(label)#将读入的标签加到list数组中
images_new=[]#初始化一个新的list数组用于存放新的图片路径
for i in range(len(labels)):
images_split=images[i].split('/')#这里使用split分割,按照split('/')分割后得到一个新的list数组
image=images_split[2]#如果不理解下面会详细讲解
images_new.append(image)
with open('1.csv', 'w', newline='') as csvfile:#重新写入csv文件
writer = csv.writer(csvfile)
for row in images_new:
writer.writerow([row])
在代码中split分割的部分可能大家看不懂这里举一个简单的例子:
比如我原来的文件名为pokemon/center/center_1118.tif
采用 images_split=images[i].split('/')
操作后