批量收集照片并按规则命名(代码片段)

老helloworld了 老helloworld了     2023-02-22     173

关键词:

前言

最近学校下发工作需要收集班上同学的截图文件并按自己名字命名图片,然后收集好后打包发给学校。总觉得这样下发通知让大家截图后命名再上传至群相册十分麻烦,便想找其他解决方法,使得大家都很便利

解决方法

1 收集图片

  • qq带的腾讯文档里可以创建带有收集图片的表,设置好后发给同学们进行填写
    最后收集后的结果可以生成excel表
    以往的腾讯文档只能导出表格,现在的腾讯文档可以导出文件和附件(附件也就是我们收集的图片),但是附件的命名是按填表的时间来命名的,不符合我们的需求,所以这里我还是选择导出excel文件(xlsx格式)

2. 修改excel表格

  • 当我们获得一个含有命名规则和图片链接地址的excel表后,后续的事情就很好做了,主要思路就是利用代码将excel表中的链接获取到,并下载至本地,且以excel表中规则进行命名。
  • 但是在上图中,导出的excel文件中的地址是蓝色的 相当于超链接,这样代码是获取不到其链接地址的,我们所需要的是能直接在浏览器打开的地址,例如https://www.baidu.com/,所以第一步需要将蓝色的超链接转为URL地址
    • 打开excel,在选项->自定义功能区中选择打开开发工具
      然后在导航栏点开开发工具的编辑器,然后新建模块后,将下列代码进行复制并保存
Function GetAdrs(Rng)

    Application.Volatile True

    With Rng.Hyperlinks(1)

        GetAdrs = IIf(.Address = "", .SubAddress, .Address)

    End With

End Function


然后在excel单元格中编写函数公式

然后就可以获取到URL地址了,如图。
建议此时获得地址后进行复制粘贴为文本,因为后续尝试使用代码进行获取单元格内容,只能获取函数公式,而不是公式之后的结果

3. 代码根据连接进行图片下载

  • 因为使用了宏,所以excel进行保存时只能选择xlsm格式
  • 保存之后,使用python代码进行下载
import openpyxl
import requests

wb = openpyxl.load_workbook('456.xlsm')
temp = wb.worksheets[0]

# 把下载地址发送给requests模块
for i in range(2):
    f = requests.get(temp['E'.format(i+2)].value)
    # 下载文件
    with open("图片收集/.jpg".format(temp['C'.format(i+2)].value), "wb") as code:
        code.write(f.content)

上述代码中的for语句 需要循环多少次是看有多少同学上交的图片,这里测试文件只有两行,所以是2

工具收集-重命名工具renamer(代码片段)

工具收集-重命名工具ReNamer官网简介例子移除指定字符移除所有数字添加序号填充添加序号正则参考资料官网https://www.den4b.com/products/renamer简介ReNamer是一个非常强大和灵活的文件重命名工具,它提供了所有标准的重命名程序&#... 查看详情

powershell批量重命名(代码片段)

查看详情

sh批量重命名(代码片段)

查看详情

markdown命名规则(代码片段)

查看详情

html常用命名和cssreset代码收集总结

CSS命名规则  头:header  内容:content/containe  尾:footer  导航:nav  侧栏:sidebar  栏目:column  页面外围控制整体布局宽度:wrapper  左右中:leftrightcenter  登录条:loginbar  标志:logo  广告:banner  ... 查看详情

织梦批量修改栏目的保存目录和文章命名规则

批量修改栏目的保存目录比如,想批量去掉所有栏目里的/a核心-批量维护-数据库内容替换Ps:以后创建栏目不想自动带/a的话,在系统-系统基本参数-站点设置-文档HTML默认保存路径,删除/a即可批量修改栏目的文章命名规则比如... 查看详情

markdownlinux的下批量文件重命名(代码片段)

查看详情

文件夹照片批量插入word(代码片段)

文件夹照片批量插入word‘‘‘功能用途介绍:将当前程序py文件所在目录或文件夹的照片,批量保存到word文件中,结果保存为result.doc。优点:可批量导入bmp、jpg、gif、png格式图片,并标记图片名称;可以生成各调查点首张标号... 查看详情

sh[lua]redis批量/批量操作脚本(重命名,删除)(代码片段)

查看详情

基金命名规则(代码片段)

基金命名规则:基金公司+投资方向+基金类别+收费类型比如:易方达上证50指数C。基金公司:易方达投资方向:上证50指数收费类别:C 查看详情

sh在shell中批量重命名(代码片段)

查看详情

sh批量重命名文件删除特定字符(代码片段)

查看详情

oracle批量导入数据时的在线统计信息收集(代码片段)

...删除单独的统计信息收集操作所需的额外全表扫描来提高批量加载操作的性能和可管理性。如何确定其已生效NOTES字段里显示统计信息是在加载时收集的:coltable_namefora 查看详情

markdown如何使用cli/终端批量调整照片大小?(代码片段)

查看详情

教你在win10电脑中给照片快速批量重命名的方法

...工作中做到事半功倍的效果,有小伙伴想要实现在win10中批量给图片重命名的操作方法,今天小编就来把方法分享给大家,一起来看一下教你在Win10电脑中给照片快速批量重命名的方法。 具体的方法和详细的步骤如下: 1... 查看详情

批量重命名去括号(代码片段)

  WINDOW处理数据集之后导出到文件夹里面,需要批量对数据集进行重命名。但是WINDOWS重命名之后的文件名都带括号,去括号的方式就是在数据集文件夹下新建一个txt文件,编辑内容为:@EchoOff&SetLocalENABLEDELAYEDEXPANSIONFOR%%ain(*... 查看详情

sh如何基于csv文件批量重命名文件(图像)(代码片段)

查看详情

java变量命名规则(代码片段)

内容来自阿里《Java开发手册》变量命名【强制】抽象类命名使用Abstract或Base开头;异常类命名使用Exception结尾;测试类命名以它要测试的类的名称开始,以Test结尾【强制】POJO类中布尔类型变量都不要加is前缀,否则部分框架解... 查看详情