You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python批量生成QR二维码仅输出1个文件且命名异常问题求助

批量生成二维码命名错误修复方案

错误原因

  • 代码中img.save(lista+".png")行逻辑错误:你将存储所有数据的完整列表lista作为文件名前缀,每次循环都使用同一个错误文件名,新生成的图片会覆盖旧文件,最终仅保留1个文件
  • df.values.tolist()返回的每行数据row为列表类型,直接作为文件名会出现格式异常,需要先处理为合法字符串

修正后完整代码

import pandas as pd
import qrcode

df = pd.read_excel("Manpower.xls")
df = df.drop(range(31,389))
lista = df.values.tolist()

# 文件名非法字符替换映射
illegal_chars = ['/', '\\', ':', '*', '?', '"', '<', '>', '|']

for row in lista:
    # 处理文件名:如果行内只有一个元素用row[0],多个元素可以用'-'.join([str(i) for i in row])拼接
    file_name = str(row[0])
    for c in illegal_chars:
        file_name = file_name.replace(c, '_')
    
    qr = qrcode.QRCode(version=1, box_size=2)
    qr.add_data(row)
    qr.make(fit=True)
    
    img = qr.make_image()
    img.save(f"{file_name}.png")

调整说明

  • 如果你的Excel单行包含多个字段需要拼接为文件名,可以把str(row[0])替换为'-'.join([str(i) for i in row]),会用短横线拼接所有字段作为文件名
  • 代码中已经加入了Windows系统文件名非法字符替换逻辑,避免特殊字符导致保存失败

内容的提问来源于stack exchange,提问作者Aldo G-4144

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 22:45:03