在Python中基于csv重命名文件中的图像

问题描述 投票:1回答:1

我有一个文件夹,里面有几千张图片:10000.jpg10001.jpg等;和一个csv文件有两列:idname。 csv id匹配文件夹中的图像。

我需要根据csv中的name列重命名图像(例如从10000.jpgname1.jpg

我一直在尝试使用for循环中的os.rename(),如下所示。

with open('train_labels.csv') as f:
    lines = csv.reader(f)
    for line in lines:
        os.rename(line[0], line[1])

这给了我循环内的编码错误。

知道我在逻辑中缺少什么吗?

还尝试了另一种策略(下面),但得到了错误:IndexError: list index out of range

with open('train_labels.csv', 'rb') as csvfile:
    lines = csv.reader(csvfile, delimiter = ' ', quotechar='|')
    for line in lines:
        os.rename(line[0], line[1])
python-3.x csv
1个回答
0
投票

我也得到了同样的错误。当我在记事本中打开CSV文件时,我发现ID和名称之间没有逗号。所以请检查一下。否则你可以在Renaming images in folder看到解决方案

© www.soinside.com 2019 - 2024. All rights reserved.