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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Python中基于csv重命名文件中的图像相关的知识,希望对你有一定的参考价值。

我有一个文件夹,里面有几千张图片: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])
答案

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

以上是关于在Python中基于csv重命名文件中的图像的主要内容,如果未能解决你的问题,请参考以下文章

根据python中csv文件中的一些内容重命名csv文件

在 Pandas 中重命名多个列

将数据导出到 csv 并在计算机配置文件名称后重命名

重命名 Azure Blob 存储中的 csv 文件

在 PySpark 中将数据帧写入 CSV 后重命名文件 [重复]

重命名非常大的 CSV 数据文件的列 [重复]