zoukankan      html  css  js  c++  java
  • Python生成csv中文乱码解决办法

    前言

    在Linux下面用python进行数据处理,然后输出为csv格式,如果没有中文一切正常,但是如果有中文,就会出现乱码的问题,本篇将讲述怎么处理这个问题

    处理过程

    原始代码

    #!/usr/bin/env python
    # -*- coding: UTF-8 -*-
    import csv
    #import codecs
    with open('test.csv', 'wb') as csvfile:
    #    csvfile.write(codecs.BOM_UTF8)
        spamwriter = csv.writer(csvfile, dialect='excel')
        spamwriter.writerow(['测试'] * 5 + ['Baked Beans'])
        spamwriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])
    

    运行以后:
    Linux下的效果

    [root@lab8106 ~]# cat test.csv 
    测试,测试,测试,测试,测试,Baked Beans
    Spam,Lovely Spam,Wonderful Spam
    

    Windows下打开的效果
    image_1atnnp5i41b7lf7tumgj6175k9.png-4.3kB

    修改代码

    #!/usr/bin/env python
    # -*- coding: UTF-8 -*-
    import csv
    import codecs
    with open('test.csv', 'wb') as csvfile:
        csvfile.write(codecs.BOM_UTF8)
        spamwriter = csv.writer(csvfile, dialect='excel')
        spamwriter.writerow(['测试'] * 5 + ['Baked Beans'])
        spamwriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])
    

    跟上面的代码相比,引入了两行代码

    import codecs

    csvfile.write(codecs.BOM_UTF8)

    我们再来看效果Linux下的效果

    [root@lab8106 ~]# cat test.csv 
    测试,测试,测试,测试,测试,Baked Beans
    Spam,Lovely Spam,Wonderful Spam
    

    Windows下打开的效果
    image_1atnnsp1713931d1h1e641l4f13kim.png-3.5kB
    问题解决

    总结

    网上找了一些资料,这个方式比较快而简单,就先用这个方式解决,方法有很多

    变更记录

    Why Who When
    创建 武汉-运维-磨渣 2016-09-28
  • 相关阅读:
    EBS SQL > Form & Report
    oracle sql 优化分析点
    MRP 物料需求计划
    MRPII 制造资源计划
    Barcode128 应用实务
    Oracle SQL语句优化技术分析
    APPSQLAP10710 Online accounting could not be created. AP Invoice 无法创建会计分录
    Oracle数据完整性和锁机制
    ORACLE Responsibility Menu Reference to Other User
    EBS 常用 SQL
  • 原文地址:https://www.cnblogs.com/zphj1987/p/13575372.html
Copyright © 2011-2022 走看看