Django输出csv文件
来源:互联网 发布:小说免费下载软件 编辑:程序博客网 时间:2024/05/17 03:48
CSV 是一种简单的数据格式,通常为电子表格软件所使用。 它主要是由一系列的表格行组成,每行中单元格之间使用逗号(CSV 是 逗号分隔数值(comma-separated values) 的缩写)隔开。例如,下面是一段csv格式的文本:
user,Chapter:1_sub,Chapter:2_sub,Chapter:3_sub,Chapter:4_sub,Chapter:5_sub,,Chapter:1_accu,Chapter:2_accu,Chapter:3_accu,Chapter:4_accu,Chapter:5_accu,
dq0208,0.000 ,0.000 ,4.787 ,0.000 ,0.000 ,,0.000 ,0.000 ,0.441 ,0.000 ,0.000 ,
dq0312,0.000 ,0.000 ,0.809 ,0.000 ,0.000 ,,0.000 ,0.000 ,0.417 ,0.000 ,0.000 ,
dq0225,0.000 ,0.000 ,4.472 ,0.000 ,0.000 ,,0.000 ,0.000 ,0.643 ,0.000 ,0.000 ,
dq0215,0.000 ,0.000 ,4.146 ,0.000 ,0.000 ,,0.000 ,0.000 ,0.574 ,0.000 ,0.000 ,
dq0432,0.000 ,0.000 ,2.169 ,0.000 ,0.000 ,,0.000 ,0.000 ,0.798 ,0.000 ,0.000 ,
dq0321,0.000 ,0.000 ,2.584 ,0.000 ,0.000 ,,0.000 ,0.000 ,0.652 ,0.000 ,0.000 ,
dq0216,0.000 ,0.000 ,2.461 ,0.000 ,0.000 ,,0.000 ,0.000 ,0.676 ,0.000 ,0.000 ,
dq0201,0.000 ,0.000 ,2.764 ,0.000 ,0.000 ,,0.000 ,0.000 ,0.598 ,0.000 ,0.000 ,
dq0344,0.000 ,0.000 ,4.596 ,0.000 ,0.000 ,,0.000 ,0.000 ,0.518 ,0.000 ,0.000 ,
dq0243,0.000 ,0.000 ,7.090 ,0.000 ,0.000 ,,0.000 ,0.000 ,0.537 ,0.000 ,0.000 ,
dq0424,0.000 ,0.000 ,2.989 ,0.000 ,0.000 ,,0.000 ,0.000 ,0.617 ,0.000 ,0.000 ,
dq0203,0.000 ,0.000 ,0.135 ,0.000 ,0.000 ,,0.000 ,0.000 ,0.833 ,0.000 ,0.000 ,
dq0214,0.000 ,0.000 ,3.539 ,0.000 ,0.000 ,,0.000 ,0.000 ,0.578 ,0.000 ,0.000 ,
dq0205,0.000 ,0.000 ,2.315 ,0.000 ,0.000 ,,0.000 ,0.000 ,0.602 ,0.000 ,0.000 ,
dq0444,0.000 ,0.000 ,1.382 ,0.000 ,0.000 ,,0.000 ,0.000 ,0.740 ,0.000 ,0.000 ,
dq0236,0.000 ,0.000 ,2.584 ,0.000 ,0.000 ,,0.000 ,0.000 ,0.683 ,0.000 ,0.000 ,
dq0242,0.000 ,0.000 ,1.775 ,0.000 ,0.000 ,,0.000 ,0.000 ,0.557 ,0.000 ,0.000 ,
dq0227,0.000 ,0.000 ,2.270 ,0.000 ,0.000 ,,0.000 ,0.000 ,0.634 ,0.000 ,0.000 ,
dq0426,0.000 ,0.000 ,6.787 ,0.508 ,0.000 ,,0.000 ,0.000 ,0.366 ,0.774 ,0.000 ,
dq0228,0.000 ,0.000 ,3.337 ,0.000 ,0.000 ,,0.000 ,0.000 ,0.529 ,0.000 ,0.000 ,
dq0220,0.000 ,0.000 ,3.281 ,0.000 ,0.000 ,,0.000 ,0.000 ,0.500 ,0.000 ,0.000 ,
Django返回csv格式的文件有两种方式,一种是在views.py文件里将HttpResponse对象当做一个变量传给csvwriter,还有一种是向HttpResponse传递一个迭代器,流式向客户端传递数据。
第一种方式的示例代码如下:
import csvfrom django.http import HttpResponseUNRULY_PASSENGERS = [146,184,235,200,226,251,299,273,281,304,203]def unruly_passengers_csv(request): response = HttpResponse(mimetype='text/csv') response['Content-Disposition'] = 'attachment; filename=unruly.csv' writer = csv.writer(response) writer.writerow(['Year', 'Unruly Airline Passengers']) for (year, num) in zip(range(1995, 2006), UNRULY_PASSENGERS): writer.writerow([year, num]) return response
第二种方式可以使用yield:
def all_download_statements(request): basepath=os.getcwd() filename=basepath+'/static_generate_files/all_statements.csv' def file_iterator(file_name, chunk_size=5120): with open(file_name) as f: while True: c = f.read(chunk_size) if c: yield c else: break response = HttpResponse(file_iterator(filename)) response['Content-Type'] = 'application/octet-stream' response['Content-Disposition'] = 'attachment;filename="all_statements.csv"' return response
- Django输出csv文件
- 读取/输出 CSV文件
- java实现CSV文件输出
- Java实现CSV文件输出
- [经验总结]Perl输出csv文件
- JSP中输出CSV文件
- PowerShell中输出CSV文件
- EXCEL CSV文件输出 问题
- 下载输出到CSV文件
- Django 读写CSV 文件乱码问题
- django cpu监控之一-----csv文件生成
- python django下载大的csv文件
- django导出csv文件的编码问题
- HtmlTextWriter 写文件输出下载csv 导出csv文件
- [code]serlvet输出csv文件乱码问题
- ASP读取CSV文件并用表格输出
- PHP输出CSV文件出现乱码问题
- 解决PHP 输出csv文件中文乱码
- 按升序对栈进行排序
- Suggestion: add 'tools:replace="android:icon"' to <application> element at AndroidManifest.xml
- 使用CSS3画出一个叮当猫!超可爱!
- 算法空间复杂度
- 智能电池管理芯片msp430驱动
- Django输出csv文件
- StringBuilder、StringBuffer
- C++ hdoj 2009
- AIO与BIO接口性能对比
- cout 未定义
- Hadoop-2.4.1学习之如何确定Mapper数量
- Sqoop---Got exception in update thread: com.mysql.jd bc.exceptions.jdbc4.MySQLSyntaxErrorException
- Oracle sql 去除重复 和 字段去除空格
- javaWeb 项目 之 log4j1 的配置 简单实例