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
  • 相关阅读:
    OSI七层模型详解 TCP/IP协议
    ZT 第一范式,第二范式,第三范式
    思杰20140522
    Correspondence / ˏkɔris'pɔndәns / dictionary10-800.doc
    闲着没事,贴贴图
    心情闲适,发几个tatanic的图
    005 Python 基础特性
    017 虚拟内存 64位及内存对其 3
    004 Python 文件操作 字典 自定义函数
    003 Python list 索引
  • 原文地址:https://www.cnblogs.com/zphj1987/p/13575372.html
Copyright © 2011-2022 走看看