在摄影比赛征稿的时候,发现收到的excel汇总中图片是用链接的形式给出的,非常不方便,尤其是人比较多的时候也懒得一个个下载,所以写了一个小程序自动把这些图片按照顺序分文件夹下载好,以下内容均可按照注释自行修改~
"encoding=utf-8"
import urllib.request
import xlrd
import pandas as pd
import os
def dld(url,place):#将url中的文件下载到place
urllib.request.urlretrieve(url, place)
df = pd.read_excel("C:/Users/XXX/Desktop/XXX/233.xlsx", sheet_name='Sheet1')#输入问卷星的excel表格的文件路径
for i in df.index:#默认以表格的第一列作为处理顺序
try:
tempnum=df.loc[i,"8、投稿数量"]
tempname=df.loc[i,"3、您的姓名(将用于作品后续展示)"]
filesite="C:/Users/XXX/Desktop/XXX/"+str(i)+" "+str(tempname)+"/"#在输入的文件路径下创建文件夹并插入对应文件
folder = os.path.exists(filesite)
if not folder: # 判断是否存在文件夹如果不存在则创建为文件夹
os.makedirs(filesite)
tempintro=df.loc[i,"12、作品题目"]# 在文件名中添加问卷中收集的作品题目
if(tempnum>=1):
tempurl=df.loc[i,"9、作品1"];#处理该列的链接
tempfile=filesite+tempintro+"1.jpg"
dld(tempurl,tempfile)#将该列的链接下载到名为tempfile的地址
#(这里为创建的文件夹下名为1.jpg的位置)
if (tempnum >= 2):
tempurl = df.loc[i, "10、作品2"];#同上,下载到2.jpg
tempfile = filesite+tempintro+"2.jpg"
dld(tempurl, tempfile)
if (tempnum >= 3):
tempurl = df.loc[i, "11、作品3"];
tempfile = filesite+tempintro+ "3.jpg"#同上,下载到3.jpg
dld(tempurl, tempfile)
tempdescription=df.loc[i,"13、作品简介"]
tempfile=filesite+tempintro+"作品简介.txt"
file = open(tempfile, 'w')
file.write(tempdescription)
file.close()
except:
print("在编号为",i,"的文件中写入错误")