其他分享
首页 > 其他分享> > flask动态csv接口——编码问题

flask动态csv接口——编码问题

作者:互联网

@xxx_blueprint.route("/file", methods=["GET"])
def group_trend():
     def generate():
            data = StringIO()
            w = csv.writer(data)
            titles = ["v1", "v2", "v3"]
            titles[0] = codecs.BOM_UTF8.decode("utf8") + codecs.BOM_UTF8.decode() + titles[0]  ## 不加此行,中文乱码!!!!
            w.writerow(titles)
            for item in [[1, 2, 3], [4, 5, 6]]:
                w.writerow(item)
                yield data.getvalue()
                data.seek(0)
                data.truncate(0)

        response = Response(stream_with_context(generate()), mimetype='text/csv')
        response.headers.set("Content-Disposition",
                             "attachment", filename="{}_{}.csv".format(file_type, dt))
        response.headers["Content-Type"] = "application/octet-stream; "  #字节流类型
        return response

  

标签:编码,stream,writerow,flask,titles,csv,data,response
来源: https://www.cnblogs.com/chenmotongxue/p/16528157.html