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系统上,用的是斜杠分隔,无需转义。

 

 

posted @ 2020-06-03 15:37  Json2019  阅读(427)  评论(0编辑  收藏  举报