编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

Python-批量生成二维码BarCode(python简单二维码生成代码)

wxchong 2024-07-26 22:54:45 开源技术 12 ℃ 0 评论

在工作中碰到一个问题,就是要批量将仓库的货架号码生成二维码,这样可以方便仓库的同事打印并粘贴到需要的地方。

会涉及以下几方面内容或库:

  • Pillow:基础图形处理库
  • python-barcode:用以绘制barcode

在数据处理的一些敏感信息,我用xxxxxx进行了替代,但不影响整理代码阅读

主要参考的相关网站有以下:

其他说明:

  • 用barcode.PROVIDED_BARCODES显示支持的barcode种类
  • Barcode不支持中文,尽量字母+数字组合
#------------------------引入相关库--------------------------------
import os
import pandas as pd
import barcode
from barcode.writer import ImageWriter
print("barcode start ->") #开始处理
# ----------------------------读取文件------------------------------
path=r'C:\Users\02279074xxxxxx\BarCode'
srcFileName='xxxxxx_Bin_List.csv'
srcFile=os.path.join(path,srcFileName) #原始文件地址
df=pd.read_csv(srcFile,header=0,dtype={'Sec':str}) #文件读入dataframe
#---------------------文本转barcode函数----------------------------
def textTObarcode(data,bar_format):
  obj_name=os.path.join(path,data) #png文件名
  barcode_obj=barcode_format(data,writer=ImageWriter()) #生成barcode,指定为image
  barcode_obj.save(obj_name) #保存文件,不需要指定后缀名
#---------------------code128支持数字+字母------------------------
barcode_format=barcode.get_barcode_class('code128') #指定barcode类型
for idx,row in df.iterrows(): #循环df
  binText=row['Bin'] #获取转barcode数据
  print(idx,binText) #debug only
  textTObarcode(binText,barcode_format) #调用barcode函数
print("barcode done ->",path) #全部完成

初始时gm_df的数所如下:规则是 数字-字母-数字

输出图的效果如下:

这里多说一句,python在这种办公型的数据处理方面,真的非常方便。

以前我是用EXCEL的 BarCode插件+VBA,也可以达到效果;但无论是最后的效果,还是在中间数据处理+图片输出方面,python还是更加灵活方便。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表