caravel 导出csv文件乱码问题

原创 2016年08月30日 13:54:32

背景:

项目 : https://github.com/airbnb/caravel

版本 :0.10.0

现象 : 导出csv 含有中文时候乱码:

原有导出代码:采用flask中封装的Response函数

view.py

        elif request.args.get("csv") == "true":
            payload = obj.get_csv()
            return Response(
                payload,
                status=200,
                headers=generate_download_headers("csv"),
                mimetype="application/csv")
def generate_download_headers(extension):
    filename = datetime.now().strftime("%Y%m%d_%H%M%S")
    content_disp = "attachment; filename={}.{}".format(filename, extension)
    headers = {
        "Content-Disposition": content_disp,
    }
    return headers


怎么改都不好用之后采取xlwt

https://pypi.python.org/pypi/xlwt

        elif request.args.get("csv") == "true":

            payload = obj.get_csv()

            filename=generate_download(payload,'xls')

            return send_from_directory(config.get("DOWNLOAD_FOLDER"),filename, as_attachment=True)
</pre><pre code_snippet_id="1857667" snippet_file_name="blog_20160830_5_4701559" name="code" class="html">def generate_download(payload,extension):
    filetime = datetime.now().strftime("%Y%m%d_%H%M%S")

    filename = "Export_"+filetime+"."+extension

    workbook = xlwt.Workbook(encoding = 'utf-8')

    worksheet = workbook.add_sheet('钱包BI下载数据sheet1')

    logging.info(payload)

    data=payload.split('\n')

    for x,value in enumerate(data):

        cells = value.split(',')

        for y,cell in enumerate(cells):

             worksheet.write(x, y, label = cell)

    workbook.save(config.get("DOWNLOAD_FOLDER")+filename)

    return filename


变成下载xls文件,来解决乱码~


如果你恰巧看到这儿,知道怎么修改原有的方式解决乱码问题,欢迎交流~


解决unix(ubuntu)平台下,导出csv文件的乱码问题

项目中用到了csv导出的功能,但是在本机

导出csv文件中文乱码问题

编码相关基础: 参考http://blog.csdn.net/youyue/article/details/4580402 http://blog.163.com/asd_wll/blog/sta...

php导出csv文件无乱码示例

  • 2008年09月10日 09:22
  • 808B
  • 下载

python csv 格式文件 中文乱码问题解决方法

我遇到的问题是使用pandas的DataFrame to_csv方法实现csv文件输出,但是遇到中文乱码问题,已验证的正确的方法是: df.to_csv("cnn_predict_result....

excel打开csv文件乱码问题

[故障原因分析]此种情况一般是导出的文件编码的问题。在简体中文环境下,EXCEL打开的CSV文件默认是ANSI编码,如果CSV文件的编码方式为utf-8、Unicode等编码可能就会出现文件乱码的情况...

在Mac系统下Excel转csv文件中文乱码问题解决

导出方式 问题的原因是编码方式不同造成的,解决问题需要借助一个工具 Numbers, 下载地址: http://soft.macx.cn/5144.htm 安装完成后用Numbers打开E...

使用Python3生成CSV文件遇到的问题(空行/乱码)

注意,本文是 Python3空行问题Python 3 中如果要防止空行,需要在open的时候加上 newline="" 这个参数,示例代码如下:# Python 2 with open('/pytho...
  • tmpbook
  • tmpbook
  • 2017年08月04日 10:43
  • 415

java页面导出csv格式乱码问题解决

问题描述:java页面导出的csv格式的表格,用excel打开有乱码,但是用记事本打开没有乱码能够正常显示。 问题代码:ServletActionContext.getResponse().rese...

Mantistbt系统导出excel为xml,以及csv 中文乱码问题解决

1,问题描述 我们部署了一个mantisbt BUG提交系统,在config_inc.php中配置语言为中文后,界面变成中文界面了,但是在查看问题栏目中,我们导出csv,会发现为乱码,而导出ex...
  • altand
  • altand
  • 2012年06月22日 15:23
  • 2328

csv文件导出,excel打开乱码处理

原因如下有两种处理办法: 在做一个导出CSV文件的功能时发现导出的文件是乱码,上网查了下,发现原来是BOM(Byte Order Mark)的问题   BOM是UTF编码方案里用于标识编码的标准标...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:caravel 导出csv文件乱码问题
举报原因:
原因补充:

(最多只允许输入30个字)