CSV(Comma-Separated Values)文件中文件字符分隔值,CSV文件以纯文本形式存储表格数据(数字和文本),可以被常见制表工具(excel等)直接读取

目录

1  生成CSV

2  结合django使用csv

2.1  方案1

2.2  方案2

3  分页配合csv文件


1  生成CSV

我们使用python内建的csv库来操作csv文件

  • open生成CSV文件必须有newline且newline必须是空字符串
  • writerow()调用一次就会写一行

运行后在代码的同级目录中会出现生成的csv文件

打开后发现与我们输入的内容一致

writerow()的参数只要是一个列表就行,所以我们可以使用查询数据的结果生成csv文件,我下面会用数据表做例子

2  结合django使用csv

目的都是搞一个路由,然后访问这个路由就可以得到生成的csv文件

2.1  方案1

生成放static中,然后302到static就能下载了

路由

视图

之后我们访问download_csv1

  • 由于302到static,所以地址栏不会显示download_csv1

打开下载好的test.csv,发现其中是我们需要的内容

2.2  方案2

方案二对响应做出一些修改

  • 修改content_type,告知浏览器该文档是CSV文件,而不是HTML文件
  • 修改Content-Disposition,告知浏览器有附件,响应后需要保存

csv.writer()的参数为csv文档对象,此时response就是一个csv文档对象,所以可以放在csv.writer()中

之后我们搞一个路由

然后访问一下

效果与方案一相同

点开后发现是我们想要的数据

方案二相较于方案一不需要使用static,也不需要特意搞路由

3  分页配合csv文件

有时会有下载当前页内容的需求,我们使用之前的分页来搞一下

搞一个下载每页CSV的视图

再搞一个路由

最后在分页的html中加入一个a标签

  • 链接地址一定要给查询字符串

之后我们访问一下分页的路由,然后点击下载该页信息

打开后发现符合要求

27. 生成CSV文件相关推荐

  1. 数据库抽取,生成CSV文件导出,CSVUtils工具类

    2019独角兽企业重金招聘Python工程师标准>>> 开发背景: 最近一直在忙一个任务调度系统,需求一直没定下来,需求一直变更,调度一直改,往往复复... 等这波忙完了可以写一下关 ...

  2. Java生成CSV文件

    1.新CSVUtils.java文件: package com.saicfc.pmpf.internal.manage.utils;import java.io.BufferedWriter; imp ...

  3. POI以SAX方式解析Excel2007大文件(包含空单元格的处理) Java生成CSV文件实例详解...

    http://blog.csdn.net/l081307114/article/details/46009015 http://www.cnblogs.com/dreammyle/p/5458280. ...

  4. java将数据生成csv文件

    1,httpRequest接口触发进程[或者可以换成其他方式触发] /** * 出入库生成CSV文件 * @param req * @param params * @return */@Request ...

  5. 在 Apex 代码中生成 csv 文件

    在 Apex 代码中生成 csv 文件可以写一个 Visualforce 页面,设定类型为 excel 的格式,然后调用 PageReference 的 getContent()方法来获取 Blob ...

  6. java导出csv文件_java导出生成csv文件的方法

    本文实例为大家分享了java导出生成csv文件的具体代码,供大家参考,具体内容如下 首先我们需要对csv文件有基础的认识,csv文件类似excel,可以使用excel打开,但是csv文件的本质是逗号分 ...

  7. Python生成CSV文件模拟某小区用户手机通话记录

    好消息:"Python小屋"编程比赛正式开始 推荐图书: <Python程序设计(第3版)>,(ISBN:978-7-302-55083-9),董付国,清华大学出版社, ...

  8. csv文件 java_Java生成CSV文件实例详解

    本文实例主要讲述了Java生成CSV文件的方法,具体实现步骤如下: 1.新建CSVUtils.java文件: package com.saicfc.pmpf.internal.manage.utils ...

  9. java 生成csv文件_Java生成CSV文件实例详解

    本文实例主要讲述了java生成csv文件的方法,具体实现步骤如下: 1.新建csvutils.java文件: package com.saicfc.pmpf.internal.manage.utils ...

最新文章

  1. Maven多工程的创建
  2. JDBC连接执行MySQL存储过程报空指针或权限错误
  3. 【2011.9.20】Spring配置文件总结
  4. 澳大利亚量子计算机获突破 首次实现简化逻辑门
  5. python中二维列表的遍历方式(亲测)
  6. 银行不是很喜欢客户分期吗?为何申请信用卡分期被拒绝了?
  7. 揭秘“清华园”的“N”种打开方式!
  8. 【ElasticSearch】Es 源码之 CcrRestoreSourceService 源码解读
  9. 开环直流电机的机械特性_无刷直流电动机的开环调速机械特性研究
  10. arduino loar_如何使用Arduino开发板制作函数生成器(波形发生器)
  11. L255 Learning to say no brings a thrill of freedom
  12. [git] gnutls_handshake() failed
  13. 一键安装thrift-0.9.0的脚本
  14. 开源跨平台GUI库Fltk在Deepin Linux下的使用
  15. 数据库课程设计专题-数据库课程设计大作业作业列表【建议在校生收藏】
  16. Cesium+百度街景浏览
  17. 阿里、京东、拼多多都来了,互联网+疫苗是一门好生意吗?
  18. 【021】基于springboot的党务管理系统(含管理员、用户党支部三种身份(附源码数据库)
  19. 微信小程序实现文字识别-ocr插件
  20. php系统5000块钱的短信,两天被刷完了,短信接口被恶意盗刷怎么办?(短信接口被盗刷系列4)

热门文章

  1. 给小朋友讲故事——谈谈杨振宁先生第三部分终篇(七次提交稿)
  2. JAVA项目启动脚本编写的一些笔记整理
  3. js监听退出全屏事件
  4. 软件设计方案(界面设计)
  5. 实验室离心机的维护及故障排除
  6. 微信第三方平台研究总结
  7. 视频| 什么是区块链,本质、意义和发展 8月22日(本周三)晚8点, 微信群在线讲座---区块链存储(下)...
  8. is()和hasClass()
  9. 国产深度Linux(deepin)操作系统
  10. mysql智能提示插件_书写SQL语句的智能提示工具(SQL_Prompt_4 插件)