并且每个表都会遍历,下载每个表里面的工号照片,自动替换下载链接里面的工号,然后保存照片为姓名
有需要自行修改,这个代码来源于工作需要,贡献了就
微信截图_20240424090126.png (174.15 KB, 下载次数: 0)
下载附件
1
2024-4-24 09:01 上传
[Python] 纯文本查看 复制代码
#这里假设链接最后的图片是以工号命名可以下载的
#读取excel里面的工号
#excel内可以有多张表
#但是每个表里面必须要要有【工号】【姓名】
#图片的下载链接自行替换(第35行)
#照片会以姓名命名
import pandas as pd
import requests
from os import mkdir
from os.path import exists
# 读取Excel文件
excel_path = 'image_names.xlsx' # 替换为你的Excel文件路径
df = pd.read_excel(excel_path, sheet_name=None, dtype={'工号': str}) # 读取所有工作表
# 下载图片的函数
def download_image(url, save_path):
response = requests.get(url)
if response.status_code == 200:
with open(save_path, 'wb') as f:
f.write(response.content)
# 遍历每个工作表
for sheet_name, sheet_data in df.items():
# 为每个工作表创建文件夹
if not exists(sheet_name):
mkdir(sheet_name)
# 遍历工作表中的每一行
for index, row in sheet_data.iterrows():
student_id = str(row['工号']) # 获取学号,并转换为字符串
student_name = str(row['姓名']) # 获取姓名,并转换为字符串
image_url = f'https://XXXXX/XXXX/XXXXo/{student_id}.jpg' # 构造图片下载链接
image_save_path = f'{sheet_name}/{student_name}.jpg' # 构造图片保存路径
# 下载并保存图片
download_image(image_url, image_save_path)
print(f'已下载:{image_save_path}')
print('所有图片下载完成。')