Python命名文件到csv中的相应值

时间:2017-09-25 13:46:04

标签: python csv filenames

我们说我有一个包含两列的csv文件:

HEX;TITLE
0xAB;BN4
0xAC;ZF4
0xAD;ET6

我有一个python脚本,它读取csv并将每个十六进制转换为照片,并将其写入jpeg。这是脚本,因此您可以看到它的作用:

import binascii
import os

count = 0

with open('photos.txt', 'r') as f:
    for i in f:

        count = count + 1

        photo = i[2:]

        cleaned = photo.strip("\r\n")

        transform = binascii.a2b_hex(cleaned)

        with open("{}.jpg".format(count), 'wb') as output:
            output.write(transform)

f.close()

我的脚本中的计数为文件命名,它是增量的。在文件夹中我将看到:1.jpeg,2.jpeg,3.jpeg等等。

但我的问题是:如何将这些文件命名为csv中相应的TITLE值?这样第一个文件将是BN4.jpeg,第二个文件是ZF4.jpeg?

仅供参考:输入文件当前有一列包含上述脚本的十六进制。

1 个答案:

答案 0 :(得分:0)

使用csv模块获取2个单独的字段。无需strip,只需在阅读时解压缩数据:

with open('photos.csv', 'r') as f:
    cr = csv.reader(f,delimiter=";")
    for photo,filename in cr:

        transform = binascii.a2b_hex(photo[2:])

        with open("{}.jpg".format(filename), 'wb') as output:
            output.write(transform)