import pandas as pd
import qrcode
df = pd.read_excel("Manpower.xls")
df = df.drop(range(31,389))
lista = df.values.tolist()
for row in lista:
qr =qrcode.QRCode(version=1,box_size=2)
qr.add_data(row)
qr.make(fit=True)
img = qr.make_image()
img.save(lista+".png")
问题是,当我保存img时,它只显示一个,而不保存列表的名称。
您使用相同的名称保存所有文件,这是您的问题。如果你同意二维码的名称和二维码中的信息名称,那么你可以简单地将每个文件的名称更改为循环中的row
:
import pandas as pd
import qrcode
df = pd.read_excel("Manpower.xls")
df = df.drop(range(31,389))
lista = df.values.tolist()
for row in lista:
qr =qrcode.QRCode(version=1,box_size=2)
qr.add_data(row)
qr.make(fit=True)
img = qr.make_image()
img.save(row + ".png")
然而,还有其他选择。例如,可能希望将它们存储为QR1.png
、QR2.png
等。在这种情况下,你可以做一些类似的事情
#[...same as above before start of loop]
filename = "MyQRCodeFilename"
counter = 0
for row in lista:
#[...same as above in loop]
counter += 1 #augment counter by 1
img.save(f"{filename}_{counter}.png")
或者,如果你想要前导零,你可以做一些类似的事情
img.save(f"{filename}_{counter:04}.png")
另一种选择是,也许你想要一个时间戳:
import datetime
#[...everything the same as before...]
img.save(f"{filename}_{datetime.datetime.now().strftime('%Y-%m-%d-%H:%M:%S')}.png")