flask 对excel上传下载操作和文件处理
文件的下载
from flask import send_from_directory
@excel_bp.route('/get_attachment/<path:filename>')
def get_attachment(filename):
return send_from_directory(app.config['UPLOAD_FOLDER'],filename,as_attachment=True)
文件的上传
(1)html中
<input class="form-control" type="文件名" name="file" value="请上传excel文件">
(2)后端获取,保存
file = request.files.get('文件名') # 获取文件
filename = file.filename # 获取文件名
file.save(os.path.join(FILE_DIR,filename)) # 保存文件
(3)当然 要对文件名,文件类型进行判断;存储路径也要进行判断
可以使用werkzeug中的 secure_filename
判断文件类型
ALLOWED_EXTENSIONS = ['xls', 'xlsx']
def allowe_file(filename):
'''
限制上传的文件格式
:param filename:
:return:
'''
return '.' in filename and filename.rsplit('.',1)[1] in ALLOWED_EXTENSIONS
修改文件名
import os
import datetime,uuid
def change_filename(filename):
'''
修改文件名称
:param filename:
:return:
'''
fileinfo = os.path.splitext(filename)
filename = datetime.datetime.now().strftime("%Y%m%d%H%M%S")+str(uuid.uuid4().hex)+fileinfo[-1]
return filename
判断储存路径
if not os.path.exists(FILE_DIR):
os.makedirs(FILE_DIR)
python的excel操作
通过xlrd读文件
安装:pip install xlrd
通过 xlrd 打开excel,组装数据
import xlrd
def get_data(filename,method='r'):
'''
改变数据结构 -- 方便前端显示
:param filename: 文件名
:param method: 按照 列或者 行 返回数据
'''
data = xlrd.open_workbook(filename)
table= data.sheets()[0]
nrows = table.nrows # 行数
ncols = table.ncols # 列数
if method == 'r':
row_list = [ table.row_values(i) for i in range(0,nrows)] # 所有行的数据
return row_list
elif method == 'c':
col_list = [ table.col_values(i) for i in range(0,ncols)] # 所有列的数据
return col_list
前端显示
< thead >
< tr >
{% for title in datalist[0] %}
< th >{ title }< / th >
{ % endfor % }
< /tr >
< / thead >
< tbody >
{ % for row in datalist[1:] % }
< tr >
{ % for item in row % }
<td>{ { item } }</td>
{ % endfor % }
< /tr >
{ % enfor % }
< / tbody >
< / table >
通过xlwt写文件
flask 对excel上传下载操作和文件处理相关推荐
- 关于出生日期、邮箱、上传下载操作的元素点分析
关于出生日期测试点总结(可输入) 1.有效 (1)过去日期 (2)大月的1号.15号.31号 (3)小月的1号.16号.30号 (4)平年2月的1号.15号.28号 (5)闰年2月的1号.15号.29 ...
- java jsch下载文件,JSch使用sftp协议实现服务器文件上传下载操作
Jsch是什么? JSch 是SSH2的一个纯Java实现.它允许你连接到一个sshd 服务器,使用端口转发,X11转发,文件传输等等.你可以将它的功能集成到你自己的 程序中.同时该项目也提供一个J2 ...
- 阿里云oss 使用, 基于Nginx 配置云服务器+oss的内网访问 , 及使用Java SDK 完成上传,下载,删除,查询文件列表操作
一.同阿里产品,云服务器和存储对象oss-配置内网访问 阿里存储对象oss 地址: https://oss.console.aliyun.com/overview 配置须知 通过Nginx 进行网络转 ...
- .NET技术 ASP.NET中常用的文件上传下载方法(多文件上传)
文件的上传下载是我们在实际项目开发过程中经常需要用到的技术,这里给出几种常见的方法,本文主要内容包括: 1.如何解决文件上传大小的限制 2.以文件形式保存到服务器 3.转换成二进制字节流保存到数据库以 ...
- 上传/下载远程服务器文件
需求说明 有时候我们需要对我们远程服务器的文件进行上传/下载功能,或者是我们拿到国外的Chicken了需要上传我们的Trojan来进行长久控制,再或者我们需要方便的拿到我们远程服务器上某某文件/文 ...
- excel上传下载 Content-type
最近有一个问题,上传文件的时候要判断上传文件的类型要求只能上传excel类型的文件 <input type="file" accept="image/jpge,im ...
- poi实现excel上传下载 亲自实践 教你十分钟搞定
今天要实现一个上传excel的功能,之前写过很多次,但是都没有详细整理过,今天整理下,方便以后直接拿来拷贝 首先从前台来看,看了很多案例,基本两种方法:一种是form表单提交,一种是异步ajax方式. ...
- Java Servlet实现文件上传下载操作
1.配置对应的文件,导入相应的包 对应包下载地址:https://wws.lanzous.com/ipFtEoyv1je 2.编写jsp页面 代码如下: <%@ taglib prefix=&q ...
- .Net FTP文件上传下载及相关文件操作
public class FtpHelper{string ftpServerIP;string ftpRemotePath;string ftpUserID;string ftpPassword;s ...
最新文章
- 为什么Python在数据科学领域比R更受欢迎呢?
- 来阿里前 vs 来阿里后
- boot分布式计算 spring_腾讯T4大佬剖析SpringBoot2 :从搭建小系统到架构分布式大系统...
- 作者:聂敏,男,电子科技大学教育大数据研究所博士生。
- 北京IT白领的真实生活!
- 30 张图解 | 面试官问我高并发服务模型哪家强?
- 动态规划——方格取数(hdu1565)
- SIP协议 会话发起协议(二)
- java高性能反射框架_终于有人把性能优化讲清楚了!阿里架构师推荐的Java性能权威指南可太强了...
- 数字后端基础技能之:CTS(中篇)
- 大数据面试求职经验总结
- Shader实例:NGUI制作网格样式血条
- BZOJ3224 Tyvj 1728 普通平衡树
- 数控车床 刀尖补偿用法 G41 G42 G40
- 【Python】随机森林算法——东北大学大数据班数据挖掘实训四
- java verbose gc_java –verbose:gc
- python永久配置pip下载镜像源方法(window版本)
- 爱心跳动-HTML-抖音火的那个
- 互联网金融产品实战——安全开发篇
- 加强立法规制个人信息滥用