在处理之前检查 png 图像和 csv 文件是否具有相同的名称
Check that png image and csv file has the same name before processing them
我有一个由图像和 csv 文件组成的数据集(5000 个数据)。每个图像都映射有它的 csv 文件。例如 img_33e_78.png
映射为 img_33e_78.csv
。
对于每个图像,我都有一个 csv 文件,其中包含要处理的给定像素。
为此,我需要检查我是否使用正确的 csv 文件处理图像。这就是为什么我需要检查图像和 csv 的名称。区别仅在于 .png
和 .csv
。
这是我的代码:
import os
import glob
import pandas as pd
import h5py
indir_images="image"
os.chdir(indir_images)
images_name=glob.glob("*.png")
indir_csv="clean_data"
os.chdir(indir_csv)
csv_names=glob.glob("*.csv")
for img,csv in zip(images_name,csv_names):
if (image_name == csv_name) #here l need to ckeck that the image and csv file have the same name
# do the processing
我想我会先制作一组您的图像和 csv 文件。我删除了文件扩展名,因为它们是比较文件的真正问题。
这是使用列表推导式完成的。也可以使用地图来完成。
image_names = set([x.rsplit('.', 1)[0] for x in glob.glob('*.png')])
csv_names = set([x.rsplit('.', 1)[0] for x in glob.glob('*.csv')])
# Alternatively using map
image_names = set(map(lambda x: x.rsplit('.', 1)[0], glob.glob('*.png'))
然后我们用我们知道我们两者都有的那些做一个超集。
https://docs.python.org/2/library/sets.html#set-objects
for name in image_names & csv_names:
open(name+'.jpg)
etc...
这样你就知道你拥有所有匹配的文件。
我有一个由图像和 csv 文件组成的数据集(5000 个数据)。每个图像都映射有它的 csv 文件。例如 img_33e_78.png
映射为 img_33e_78.csv
。
对于每个图像,我都有一个 csv 文件,其中包含要处理的给定像素。
为此,我需要检查我是否使用正确的 csv 文件处理图像。这就是为什么我需要检查图像和 csv 的名称。区别仅在于 .png
和 .csv
。
这是我的代码:
import os
import glob
import pandas as pd
import h5py
indir_images="image"
os.chdir(indir_images)
images_name=glob.glob("*.png")
indir_csv="clean_data"
os.chdir(indir_csv)
csv_names=glob.glob("*.csv")
for img,csv in zip(images_name,csv_names):
if (image_name == csv_name) #here l need to ckeck that the image and csv file have the same name
# do the processing
我想我会先制作一组您的图像和 csv 文件。我删除了文件扩展名,因为它们是比较文件的真正问题。 这是使用列表推导式完成的。也可以使用地图来完成。
image_names = set([x.rsplit('.', 1)[0] for x in glob.glob('*.png')])
csv_names = set([x.rsplit('.', 1)[0] for x in glob.glob('*.csv')])
# Alternatively using map
image_names = set(map(lambda x: x.rsplit('.', 1)[0], glob.glob('*.png'))
然后我们用我们知道我们两者都有的那些做一个超集。 https://docs.python.org/2/library/sets.html#set-objects
for name in image_names & csv_names:
open(name+'.jpg)
etc...
这样你就知道你拥有所有匹配的文件。