不积跬步无以至千里,不积小流无以成江海

 Administrator     2021-08-18      其他      1146

python写链接存储为二维码

一个搞物料设计的朋友,接了一个制作二维码牌的工作。

800个链接,打开存储为图片,太难了。

于是写了个脚本,帮他搞一下。

excel表格是这样的

最开始帮他搞的时候,以为是把链接转化为二维码脚本如下

import qrcode
import xlrd
def getInfo ():
    try:
        data= xlrd.open_workbook(r"C:\Users\Administrator\Desktop\123\590.xlsx")
        sheetname = "Sheet1"
        table = data.sheet_by_name(sheetname)
        xuhao = table.col_values(0)
        qr_values = table.col_values(1)
        return xuhao,qr_values
    except Exception as e:
        print(e)    
def getImge(): 
    nameList,qr_values = getInfo()
    s = 0
    for machCode in nameList:
        name = nameList[s]
        qr = qr_values[s]
        img = qrcode.make(qr)
        file = r"C:\Users\Administrator\Desktop\123\590\{}.jpg".format(str(int(machCode)))
        img.save(file) 
        s+=1
getImge()    

后来发现,连接打开之后就是二维码,他们想要这个里面的二维码。具体脚本如下。

import requests
import pandas as pd
import numpy as np
import xlrd
import os as os
def save_jpg(url,name):
    img_url = url
    img = requests.get(img_url) 
    f = open(r'C:\Users\Administrator\Desktop\123\590\\'+name+'.jpg','ab') #存储图片,多媒体文件需要参数b(二进制文件)
    f.write(img.content) #多媒体存储content
    f.close()
data= xlrd.open_workbook(r"C:\Users\Administrator\Desktop\123\590.xlsx")
sheetname = "Sheet1"
table = data.sheet_by_name(sheetname)
xuhao = table.col_values(0)
qr_values = table.col_values(1)
# list_url=qr_values.values.tolist()#链接的索引
# list_name=xuhao.values.tolist()#图片的名称索引
for i,o in zip(qr_values,xuhao):
    save_jpg(i,'%d'%o)
    # print('%d'%o)

要安装requests pandas和xlrd

如果运行报错,则需要安装低版本的xlrd

pip uninstall xlrd
pip install xlrd==1.2.0