1.下载文件到本地,这里采用的是urllib,如果没有安装直接使用pipenv安装即可,或者从pycharm里面的settings自己安装,个人比较推荐第二种,这里就不做详细解释了,大家应该都会滴
jsonData = request.get_json() #jsondadta为从前端获取的get数据,如果只想要实现下载功能从下一行即可
BASE_DIR = os.path.dirname(__file__)
# print(BASE_DIR)
url = jsonData['url'] #下载的路径url,可以换成自己的url网址即可
downPath = BASE_DIR+'\\'+jsonData["filename"] #这个也是自己的路径就可以,根据自己需要即可
a = urllib.request.urlretrieve(url, downPath)
这样的话就下载到了当前文件路径下面了,并且名称是前端传过来的
“filename”
2.读取本地文件并且下载到数据库里面(刚刚下载的或者是本地之前存在的都是可以的)
这里使用的是第三方库 xlrd,同上安装即可
import xlrd
path = downPath #downPath承接上面下载文件的路径,这个读取文件路径都是可以换成自己的
workbook = xlrd.open_workbook(path) #打开excel文件
Data_sheet = workbook.sheets()[0] # 通过索引获取
rowNum = Data_sheet.nrows # sheet行数
colNum = Data_sheet.ncols # sheet列数
list = []
for i in range(rowNum):
rowlist = []
for j in range(colNum):
rowlist.append(Data_sheet.cell_value(i, j))
list.append(rowlist)
del list[0] #删掉第一行,第一行获取的是文件的头,一般不用插到数据库里面
# 接下来是把数据插到数据库里面,以下是我自己的数据库,大家可以根据自己的需要自行处理
with db.auto_commit():
for a in list:
masterstudents = Masterstudents()
masterstudents.account= a[0]
masterstudents.name = a[1]
masterstudents.major = a[2]
masterstudents.title = a[3]
masterstudents.thesisurl = a[7]
masterstudents.tutor = a[4]
masterstudents.college = a[5]
masterstudents.grade = a[6]
masterstudents._password = a[0]
db.session.add(masterstudents)
os.remove(downPath) #删除文件,根据自己需要,如果觉得占据服务器资源的话就可以读取成功后删掉的
# print(list)