csv文件中批量文件路径修改
由于待测试的算法需要先创建个csv文件来指导程序寻找数据集在何方,如下图:
鉴于图片比较多,自己手动改很枯燥,于是想着用程序来。
由于每行都只有很少的部分不一样,而且有规律,很容易就想到用拼接字符串的形式来批量修改。
以下示例是将/home/ljx/dataset/realsense/test/下的left、right、depth三个文件夹下的200张图(每个都是200张)的路径生成一个txt文件,
之后就可以直接复制到CSV文件里用来训练测试了。代码如下:
path = "/home/ljx/dataset/realsense/test/" #此处输入数据集所在的文件路径的不变的那部分 numOfFile = 200 #图片的张数 count = 0 with open ("output.txt", "w") as f: #没有的会自动创建,然后将生成的字符串写入其中 for i in range(numOfFile) : filetype = ".png" #文件扩展名 newpath1 = path + "left/" + str(count).zfill(6) + filetype #文件名以6位纯数字命名,zfill(6)以0补全所需的位数 newpath2 = path + "right/" + str(count).zfill(6) + filetype newpath3 = path + "depth/" + str(count).zfill(6) + filetype newpath = newpath1 + "," + newpath2 + "," + newpath3 count += 1 f.write(newpath) f.write('\n')
此处需要注意的是,区别于文章批量修改文件名,该文章中的文件路径是双反斜杠\\,而此处的路径分隔是用斜杠/。
因为批量修改文件名是在windows系统下,windows系统下的文件分隔使用的是反斜杠\,而为了让程序识别出这是一个反斜杠,需要在前面加个反斜杠以形成 转义字符;
本文所使用的路径是在ubuntu系统上,用的是斜杠分隔,无需转义。