Как заменить название изображения его классификацией? Классификация в файле CSV - PullRequest
0 голосов
/ 06 мая 2019

Я делаю предварительную обработку данных для использования в нейронной сети, и у меня есть несколько фотографий, сохраненных в папке с именами по номерам (1.png, 2.png, 3.png).Кроме того, у меня есть CSV, который содержит классификацию каждого изображения в папке.Структура файла csv выглядит следующим образом:

имя файла; класс

Пример:

1.png;cat
2.png;dog
3.png;cat

Я пытаюсь с помощью csv заменить имяфотографии с ее классификацией + ее имя.

В конце, результатом имен каждого изображения будет: cat_1.png, dog_2.png, cat_3.png.

IЯ использую Python 3 и Jupyter для разработки.

Не могли бы вы мне помочь?

1 Ответ

1 голос
/ 06 мая 2019
import pandas as pd
import os

csv= pd.read_csv('path_to.csv')

path_to_imgs = os.path.join('path','to','img')

def rename_files(row):
    column_class = row['column of class in csv']
    file_name = row['column of file name in csv']
    new_file_name = f'{column_class}_{file_name}'
    os.rename(
        os.path.join(path_to_imgs, file_name),
        os.path.join(path_to_imgs, new_file_name)
    )

csv.apply(rename_files, axis=1)

Чтение файлов CSV, создание функции (rename_files), которая идет строка за строкой в ​​файле CSV, заменяя старое имя в CSV (file_name) на новый формат (new_file_name).

...