Django官方文档有关于怎么生成csv文件的方法

import csv
from django.http import HttpResponse def some_view(request):
# Create the HttpResponse object with the appropriate CSV header.
response = HttpResponse(content_type='text/csv')
response['Content-Disposition'] = 'attachment; filename="somefilename.csv"' writer = csv.writer(response)
writer.writerow(['First row', 'Foo', 'Bar', 'Baz'])
writer.writerow(['Second row', 'A', 'B', 'C', '"Testing"', "Here's a quote"]) return response

如果遇到中文,会产生乱码

解决方法:在response里写入BOM  response.write(codecs.BOM_UTF8):

import csv,codecs
from django.http import HttpResponse def some_view(request):
# Create the HttpResponse object with the appropriate CSV header.
response = HttpResponse(content_type='text/csv')
    response.write(codecs.BOM_UTF8)
response['Content-Disposition'] = 'attachment; filename="somefilename.csv"' writer = csv.writer(response)
writer.writerow(['First row', 'Foo', 'Bar', 'Baz'])
writer.writerow(['Second row', 'A', 'B', 'C', '"Testing"', "Here's a quote"]) return response

*****************************

附上非Django情况下csv乱码问题

python2中:

  1. import csv,codecs
  2. f=open('temp.csv','w')
  3. f.write(codecs.BOM_UTF8)
  4. writer = csv.writer(f)
  5. writer.writerow(['奥迪','豆豆','方法'])
  6. f.close()

python3中:

  1. import csv,codecs
  2. f = codecs.open('temp.csv', 'w', 'utf_8_sig')
  3. writer = csv.writer(f)
  4. writer.writerow(['奥迪','爱迪生','方法'])
  5. f.close()

最新文章

  1. iOS 开发者账号到期续费流程
  2. C++学习笔记 宏 const 内联 枚举
  3. 在Powershell ISE中添加sharepoint的智能提示,Enable SharePoint PowerShell Commandlets in the PowerShell ISE
  4. Circle(codevs 3134)
  5. C++ 安全字符串拼接
  6. hust--------The Minimum Length (最短循环节)(kmp)
  7. javascript绑定时间 含(IE)
  8. 运维人愿意听到的话 vs 不愿意听到的话
  9. @Valid springMVC bean校验不起作用及如何统一处理校验
  10. HP-UX查看版本
  11. 虚拟键盘冲击移动端fixed布局的解决方案
  12. java 类中的属性为什么一般都是私有的
  13. html 选择器之属性选择器
  14. 【Python3之模块及包的导入】
  15. Linux显示指定区块大小为1048576字节
  16. DoraBox 漏洞练习平台
  17. Windows Server 2016-域站点链接及复制时间调整
  18. 库存盘点打印功能生成PDF速度太慢使用页面缓存
  19. VC常用小知识
  20. MVC与单元测试实践之健身网站(四)-动作管理

热门文章

  1. AndroidStudio怎么实现微信分享功能
  2. WEB接口测试之Jmeter接口测试自动化 (三)(数据驱动测试) 接口测试与数据驱动
  3. 怪异恼人的java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream问题的解决
  4. pugixml 的常见读写操作
  5. 《Java设计模式》之调停者模式(Mediator)
  6. web前端性能优化汇总
  7. STL学习笔记(迭代器配接器)
  8. Android 冷兵器 之 tools
  9. 设置DevExpress GridControl控件时间列显示时、分、秒样式
  10. Nginx访问日志和错误日志的拆分(Logstash)