#!/usr/bin/python
# -*- coding: utf-8 -*-
# @Time : 2020/12/14 13:07
# @Author : cuijianzhe
# @File : xlwt.py
# @Software: PyCharm
import openpyxl
import requests
import os
import random
name = input('请输入表格名称:')
path = name + '.xlsx'
wb = openpyxl.load_workbook(path)
sheetnames = wb.sheetnames #获取文件中所有的sheet
sheetData = wb[sheetnames[0]] #第一个sheet的内容
rows_max = sheetData.max_row #最大行数
cols_max = sheetData.max_column #最大列数
ApprovalNumber = sheetData.cell(row = 1,column = 4).value
def get_case(): #获取所有表头功能
case_list = []
for cols in range(1,cols_max): #列数
cases = sheetData.cell(row=1,column=cols).value
case_list.append(cases.replace('\n\n','\n'))
return case_list
def generate_code(char):
all_char = '0123456789qazwsxedcrfvtgbyhnujmikolpQAZWSXEDCRFVTGBYHNUJIKOLP'
index = len(all_char) - 1
code = ''
for _ in range(int(char)):
num = random.randint(0,index)
code += all_char[num]
res = ''.join(code)
return res
def get_carNum():
''' 提取并添加站点名称 '''
# 第一个方法使用列表
cars_list = [] #存储车牌号
try:
for cols in range(1,cols_max):
carNum = sheetData.cell(row = 1,column = cols).value #每列的值
if carNum == '车牌号':
for rows in range(2,rows_max+1): #遍历最大行数
carnumName = sheetData.cell(row = rows,column=cols).value
if carnumName != "":
cars_list.append(carnumName)
else:
cars_list.append("空车牌号在第%s行"%(rows))
except Exception as error:
print('get车牌号错误', 'error:{}'.format(error))
return cars_list
def get_url(case_list):
url_list = []
for cols in range(1, cols_max): # 列数
datas = sheetData.cell(row=1, column=cols).value
if datas == case_list:
for rows in range(2,rows_max+1):
images_url = sheetData.cell(row=rows, column=cols).value
if images_url != "":
url_list.append(images_url.replace('\n\n','\n'))
else: #如果此单元格可能为空的话,添加自定义链接占位
url_list.append('https://file.cjzshilong.cn/pictures_file/guohui-e67e7b3b.png\n')
else:
continue
return url_list
def Download(url,car_name):
for num in range(len(car_name)):
ApprovalNumber = sheetData.cell(row=num+2, column=1).value # 订单编号
name = car_name[num] #车牌目录
name_dir = car_name[num] + '_' + ApprovalNumber #同车牌 不同订单 创建目录
list_files = os.listdir('./')
if name not in list_files:
os.mkdir(name)
os.chdir(name)
os.mkdir(name_dir)
os.chdir(name_dir)
file_list = url[num].split('\n')
with open('./统计' + name_dir + '_' + generate_code(4) + '的图片url_共计' + str(len(file_list)) + '条.txt', 'w', encoding='utf-8') as f:
f.write(url[num])
for url_car in file_list:
if url_car != '':
response = requests.get(url_car)
with open(name +'_'+ generate_code(15) + '.jpg', 'wb') as car:
car.write(response.content)
print('%s下载完毕' %name_dir)
os.chdir('../../')
else:
namedir_list = os.listdir('./' + name)
os.chdir(name)
if name_dir not in namedir_list:
os.mkdir(name_dir)
os.chdir(name_dir)
file_list = url[num].split('\n')
with open('./统计' + name_dir + '_' + generate_code(4) + '的图片url_共计' + str(len(file_list)) + '条.txt', 'w', encoding='utf-8') as f:
f.write(url[num])
for url_car in file_list:
if url_car != '':
response = requests.get(url_car)
with open(name +'_'+ generate_code(15) + '.jpg', 'wb') as car:
car.write(response.content)
print('%s下载完毕' %name_dir)
os.chdir('../../')
else:
os.chdir(name_dir)
file_list = url[num].split('\n')
with open('./统计' + name_dir + '_' + generate_code(4) + '的图片url_共计' + str(len(file_list)) + '条.txt', 'w', encoding='utf-8') as f:
f.write(url[num])
for url_car in file_list:
if url_car != '':
response = requests.get(url_car)
with open(name + '_' + generate_code(15) + '.jpg', 'wb') as car:
car.write(response.content)
print('%s下载完毕' % name_dir)
os.chdir('../../')
if __name__ == '__main__':
case_list = ['车辆正面照&车辆安全检查照','司机安全照','起始用车仪盘公里数','结束用车仪盘公里数','路桥费照片','停车费照片']
car_name = get_carNum()
for func in case_list:
url_img = get_url(func)
Download(url_img, car_name)
近期热议
推荐标签 标签
-
开源中国
7 引用 • 86 回帖
开源中国是目前中国最大的开源技术社区。传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国社区已收录超过两万款开源软件。
-
Android
337 引用 • 324 回帖 • 1 关注
Android 是一种以 Linux 为基础的开放源码操作系统,主要使用于便携设备。2005 年由 Google 收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其他领域上。
-
HTML
108 引用 • 295 回帖
HTML5 是 HTML 下一个的主要修订版本,现在仍处于发展阶段。广义论及 HTML5 时,实际指的是包括 HTML、CSS 和 JavaScript 在内的一套技术组合。
-
Swift
34 引用 • 37 回帖 • 555 关注
Swift 是苹果于 2014 年 WWDC(苹果开发者大会)发布的开发语言,可与 Objective-C 共同运行于 Mac OS 和 iOS 平台,用于搭建基于苹果平台的应用程序。
-
golang
500 引用 • 1396 回帖 • 252 关注
Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。
-
abitmean
• 34 关注
有点意思就行了
-
人工智能
121 引用 • 323 回帖
人工智能(Artificial Intelligence)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学。
-
链滴
188 引用 • 3916 回帖
链滴是一个记录生活的地方。
记录生活,连接点滴
-
OneNote
1 引用 • 3 回帖 • 2 关注
-
CentOS
240 引用 • 224 回帖
CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。
-
开源
415 引用 • 3601 回帖
Open Source, Open Mind, Open Sight, Open Future!
-
Tomcat
162 引用 • 529 回帖 • 12 关注
Tomcat 最早是由 Sun Microsystems 开发的一个 Servlet 容器,在 1999 年被捐献给 ASF(Apache Software Foundation),隶属于 Jakarta 项目,现在已经独立为一个顶级项目。Tomcat 主要实现了 JavaEE 中的 Servlet、JSP 规范,同时也提供 HTTP 服务,是市场上非常流行的 Java Web 容器。
-
Node.js
139 引用 • 269 回帖 • 2 关注
Node.js 是一个基于 Chrome JavaScript 运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞 I/O 模型而得以轻量和高效。
-
音乐
62 引用 • 512 回帖
你听到信仰的声音了么?
-
Solidity
3 引用 • 18 回帖 • 451 关注
Solidity 是一种智能合约高级语言,运行在 [以太坊] 虚拟机(EVM)之上。它的语法接近于 JavaScript,是一种面向对象的语言。
-
Eclipse
76 引用 • 258 回帖 • 635 关注
Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
-
Elasticsearch
117 引用 • 99 回帖 • 201 关注
Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
-
酷鸟浏览器
3 引用 • 59 回帖 • 61 关注
安全 · 稳定 · 快速
为跨境从业人员提供专业的跨境浏览器 -
Scala
13 引用 • 11 回帖 • 167 关注
Scala 是一门多范式的编程语言,集成面向对象编程和函数式编程的各种特性。
-
API
79 引用 • 431 回帖 • 1 关注
应用程序编程接口(Application Programming Interface)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
-
Rust
59 引用 • 22 回帖 • 1 关注
Rust 是一门赋予每个人构建可靠且高效软件能力的语言。Rust 由 Mozilla 开发,最早发布于 2014 年 9 月。
-
FlowUs
1 引用 • 1 关注
FlowUs.息流 个人及团队的新一代生产力工具。
让复杂的信息管理更轻松、自由、充满创意。
-
FreeMarker
23 引用 • 20 回帖 • 472 关注
FreeMarker 是一款好用且功能强大的 Java 模版引擎。
-
学习
173 引用 • 541 回帖
“梦想从学习开始,事业从实践起步” —— 习近平
-
旅游
101 引用 • 905 回帖
希望你我能在旅途中找到人生的下一站。
- Solo
-
NetBeans
78 引用 • 102 回帖 • 714 关注
NetBeans 是一个始于 1997 年的 Xelfi 计划,本身是捷克布拉格查理大学的数学及物理学院的学生计划。此计划延伸而成立了一家公司进而发展这个商用版本的 NetBeans IDE,直到 1999 年 Sun 买下此公司。Sun 于次年(2000 年)六月将 NetBeans IDE 开源,直到现在 NetBeans 的社群依然持续增长。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于