如何从列的相应行中的2个文件夹附加文件

时间:2020-06-06 17:28:23

标签: python pandas

我有2个文件,其中1个包含jpg文件,其他文件分别具有json文件。我想在熊猫数据帧行中附加jpg和相应的json文件。仅通过通常从文件夹json文件添加数据,而jpg文件的行就不同了。我将此代码用于此目的:

image_files = list()
mask =list()

file_path_images =  "/content/final/data/images"
file_path_mask = "/content/final/data/mask"

for i,j in zip(os.listdir(file_path_images),os.listdir(file_path_mask)):
    for k,l in zip(os.listdir("/content/final/data/images/"+i),os.listdir("/content/final/data/mask/"+j)):
      image_files.append("data/images/"+i+"/"+k)
      mask.append("data/mask/"+j+"/"+l)

输出如下:

images  json
0   data/images/361/frame5152_leftImg8bit.jpg   data/mask/361/frame3562_gtFine_polygons.json
1   data/images/361/frame7402_leftImg8bit.jpg   data/mask/361/frame10492_gtFine_polygons.json
2   data/images/361/frame9202_leftImg8bit.jpg   data/mask/361/frame9682_gtFine_polygons.json
3   data/images/361/frame10492_leftImg8bit.jpg  data/mask/361/frame4702_gtFine_polygons.json
4   data/images/361/frame3892_leftImg8bit.jpg   data/mask/361/frame1202_gtFine_polygons.json

当我使用条件在json列中获取相应的json文件时。然后我只有3782列,总共有4008列。

image_files = list()
mask =list()

file_path_images =  "/content/final/data/images"
file_path_mask = "/content/final/data/mask"

for i,j in zip(os.listdir(file_path_images),os.listdir(file_path_mask)):
    for k,l in zip(os.listdir("/content/final/data/images/"+i),os.listdir("/content/final/data/mask/"+j)):
        if(k[4:9]==l[4:9]):
          image_files.append("data/images/"+i+"/"+k)
          mask.append("data/mask/"+j+"/"+l)```

预期输出:

    images  json
0   data/images/316/frame20123_leftImg8bit.jpg  data/mask/316/frame20123_gtFine_polygons.json
1   data/images/262/frame1163_leftImg8bit.jpg   data/mask/262/frame1163_gtFine_polygons.json
2   data/images/262/frame0653_leftImg8bit.jpg   data/mask/262/frame0653_gtFine_polygons.json
3   data/images/219/frame0014_leftImg8bit.jpg   data/mask/219/frame0014_gtFine_polygons.json
4   data/images/219/frame0270_leftImg8bit.jpg   data/mask/219/frame0270_gtFine_polygons.json

0 个答案:

没有答案