CSV 是一种简单的数据格式,通常为电子表格软件所使用。 它主要是由一系列的表格行组成,每行中单元格之间使用逗号(CSV 是 逗号分隔数值(comma-separated values) 的缩写)隔开。例如,下面是CSV格式的“不守规矩”的飞机乘客表。
Year,Unruly Airline Passengers
1995,146
1996,184
1997,235
1998,200
1999,226
2000,251
2001,299
2002,273
2003,281
2004,304
2005,203
2006,134
2007,147
备注
前面的列表包含真实数据。 这些数据来自美国 联邦航空管理局。
CSV格式尽管看起来简单,却是全球通用的。 但是不同的软件会生成和使用不同的 CSV 的变种,在使用上会有一些不便。 幸运的是, Python 使用的是标准 CSV 库, csv ,所以它更通用。
因为 csv 模块操作的是类似文件的对象,所以可以使用 HttpResponse 替换:
import csv
from django.http import HttpResponse
# Number of unruly passengers each year 1995 - 2005. In a real application
# this would likely come from a database or some other back-end data store.
UNRULY_PASSENGERS = [146,184,235,200,226,251,299,273,281,304,203]
def unruly_passengers_csv(request):
# Create the HttpResponse object with the appropriate CSV header.
response = HttpResponse(mimetype='text/csv')
response['Content-Disposition'] = 'attachment; filename=unruly.csv'
# Create the CSV writer using the HttpResponse as the "file."
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
代码和注释可以说是很清楚,但还有一些事情需要特别注意:
- 响应返回的是 text/csv MIME类型(而非默认的 text/html )。这会告诉浏览器,返回的文档是CSV文件。
- 响应会有一个附加的 Content-Disposition 头部,它包含有CSV文件的文件名。 这个头部(或者说,附加部分)会指示浏览器弹出对话框询问文件存放的位置(而不仅仅是显示)。 这个文件名是任意的。 它会显示在浏览器的另存为对话框中。
- 要在HttpResponse指定头部信息,只需把HttpResponse当做字典使用就可以了。
- 与创建CSV的应用程序界面(API)挂接是很容易的: 只需将 response 作为第一个变量传递给 csv.writer 。 csv.writer 函数需要一个文件类的对象, HttpResponse 正好能达成这个目的。
- 调用 writer.writerow ,并且传递给它一个类似 list 或者 tuple 的可迭代对象,就可以在 CSV 文件中写入一行。
- CSV 模块考虑到了引用的问题,所以您不用担心逸出字符串中引号和逗号。 只要把信息传递给 writerow() ,它会处理好所有的事情。
在任何需要返回非 HTML 内容的时候,都需要经过以下几步: 创建一个 HttpResponse 响应对象(需要指定特殊的 MIME 类型),它它传给需要处理文件的函数,然后返回这个响应对象。
相关推荐:
SEO技巧提升网站流量:打造高效网站的关键策略,Ai测脸相
ChatGPTWindows版本下载:让AI助力您的工作和生活,ai yamama
seo网站编辑是做什么,seo网站编辑可在家兼职 ,ai慢直播
ChatGPT恢复正常使用时间,提升你的工作与生活效率,联想电脑AI0510
SEO小白必看!从零起步SEO的秘诀,轻松提升网站排名,南京网站运营优化平台
文章疑似AI生成怎么办?如何辨别并应对AI生成文章的挑战
怎么使用AI生成文章,轻松提升写作效率!
seo用什么手法,seo方式 ,ai绘画飞翔
SEO针对中小企业的增长潜力:如何通过精准优化抢占市场先机,网络推广和营销就选y火10星评价
SEO管家:为您的网站保驾护航的智能SEO助手,网站推广作用有哪些类型
seo适合什么人做,哪种seo做得好 ,晋城ai论文写作免费
ChatGPT免登录:轻松畅聊,无需注册,快速体验AI智能助手,眼泪ai
亚马逊产品seo什么意思,亚马逊平台产品专业术语 ,小新同学ai
SEO优化如何提升网站排名,驾驭搜索引擎流量,三亚网站推广方法
用AI批量下载工具,高效管理你的文件和资源
SEO更多-让你的企业站点在搜索引擎中脱颖而出,如何结交seo大神
360ai答题-赋能教育,开启智能学习新纪元,ai 果汁
SEO技巧提升网站流量和排名,助力企业快速崛起,ai080206.
SEO表述:如何通过精准优化让你的内容脱颖而出,江阴网站建设怎么样啊
SEO运维:提升网站排名的核心战略,邢台网站建设优化建站
ChatGLM不能搜索网页内容,你真的了解它的局限性吗?,ai修复情侣
ChatGPT发生故障,背后隐藏着哪些不为人知的原因与挑战?,硬件ai和软件ai
ChatGPT最近不好用了?了解这些背后的原因与解决方案,ai sketcher
AI一键生成文章在线:提升创作效率,改变写作方式
优化软件:让电脑性能焕然一新,提升效率的秘密武器,大理网站推广招聘信息最新
ChatGPT宕机恢复时间如何解决用户焦虑与技术背后的故事,ai人工智能写作火山
今时CMS:引领数字化转型的智慧之选,河南seo优化网站联系方式
ChatGPT3.5最新版:智能对话新纪元,带你进入AI的未来世界,ai苔藓生长
ChatGPT使用问题?如果您正在使用VPN,请尝试将其关闭,ai制作渐变立体
云推SEO:让您的网站在激烈竞争中脱颖而出,网站优化公司欢迎来电
AI会生成同一篇文章吗?揭开智能创作的神秘面纱
ChatGPT无法使用?了解原因及解决方法,轻松恢复智能对话体验!,ai满版图案
AI文章概括缩写:让内容高效获取的智能工具,ai 处理文件
SEO课:让你从小白变成搜索引擎优化高手,推广自媒体营销计划
用AI生成的文章算原创吗?深度解析AI写作背后的秘密
为什么seo吸引人,为什么seo吸引人呢 ,ai路径查找器绘制树
优化收费,助力企业提升效益,实现共赢,宜州餐饮网站建设
SEO怎么优化比较好?全面提升网站排名的实用技巧,高级ai玩家
整理文章的AI:提升写作效率的智能助手
ChatGPT网络故障报告从协调世界时(UTC)晚上1107左右开始激增,15分钟内引发广泛关注,ai无视进化
GPT版本全解:从基础到高级,如何选择最适合你的方案?,韩国ai人工智能
ChatGPT网页版内容显示不全的原因与解决方案,ai超级绘
SEO本站:提升网站流量与排名的秘密武器,荆门专业的抖音seo
SEO而且:打造高效网站流量增长的秘密武器,滨江网站推广营销
seo给你什么帮助,seo的利与弊 ,ai 大厨
Bing学术搜索结果不显示时间?如何解决这一问题,提升学术研究效率!,ai怎么参考线
亚马逊seo是什么公司的,“亚马逊” ,ai玩底特律
ChatGPT服务部分恢复:人工智能助力全新体验,ai对象菜单
SEO单页网站:助力企业在线营销的一站式解决方案,湖南视频网站优化方式
SEO优化大全:让你的网站排名轻松破局,精准引流更高效!,274357524ai