django导出csv文件的编码问题

在Django中导出CSV文件时遇到编码问题,使用UTF-8编码导出的CSV在Excel中显示为乱码,而切换到GBK编码则可能导致部分数据无法正确保存。解决方法包括尝试使用GB18030编码并结合ignore或replace处理,或在生成CSV时添加BOM头。通过预处理特殊字符如'xa0'可以避免编码错误,但需要了解所有可能的特殊字符。参考链接提供了更多编码错误处理的详细信息。
摘要由CSDN通过智能技术生成

python2.7+Django1.11

  • CSV文件格式。
    • CSV是一种通用的、相对简单的文件格式,被用户、商业和科学广泛应用。其全称为Comma-Separated Values,有时也被称为字符分隔值,因为分割字符也可以不是逗号。其文件以纯文本形式存储表格数据(数字和文本)。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。Csv文件可以被office系列的excel打开或wps的wps表格软件打开使用。
  • django+csv
    • 在django中,使用Python CSV 库或者Django的模板系统可以生成csv文件。Python自带了CSV库,使用它可以较容易地完成csv文件的生成,具体的使用示例请移步django官方文档 使用django输出csv
  • 编码问题
    • 在django的表格提取项目中需要将提取的table数据导出生成csv文件,然而在导出文件的编码部分出现问题:
    • 首先csv文件导出选用了utf-8编码导出,用excel打开会发现全部为不可读的乱码,查询之后发现csv文件默认使用gbk编码
    • 之后更改为gbk编码,部分表格数据将能成功运行保存并正确打开,但是个别网页运行将会报错,提示信息如下:
UnicodeEncodeErro
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值