zoukankan      html  css  js  c++  java
  • Python 抓取网页乱码问题 以及EXCEL乱码

    import codecs  
    f1=codecs.open('items.json', 'r', encoding='utf-8').read().decode("unicode_escape")
    f=codecs.open('out.txt','wb',encoding='utf-8')
    print >>f,f1
    f.close()

    字符编码问题的确是万年的难题。之前我也处理过 R 语言中文乱码的问题,it just drives me crazy!!!!!!!!!!!!!!!!! HOLY SHIT!!!!!!!!!!!!

    要么就是这样的错误

    UnicodeEncodeError: ‘gbk’ codec can’t encode character u’u200e’ in position 43: illegal multibyte sequence

    要么就是可以读取然后就乱码。

    我本身环境为UTF-8.

    >>> import sys;
    >>> print(sys.getdefaultencoding());
    utf-8

    在第一行加上

    # -*- coding: utf-8 -*-

    将你的PY文件改为UTF-8文件格式,然后就

    ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

    完美解决方案:

    BYTES.decode("GBK",'ignore').encode("GBK").decode('UTF-8','ignore')
    #总之尼玛你就GBK和UTF-8之间搞来搞起就好了!艹!

    EXCEL 乱码问题

    可能大家都遇到过,python在输出的csv文件中如果有utf-8格式的中文,那么在使用excel打开该csv文件时,excel将不能够有效识别 出文件中的中文数据,严重时甚至不能够识别出分隔符。那么,要怎样操作才能够让excel识别出utf-8格式的中文呢?方法其实很简单,见以下代码:

    1. import codecs  
    2.   
    3. with open('ExcelUtf8.csv', 'w') as f:  
    4.     t = u'中国人'  
    5.     f.write(codecs.BOM_UTF8)  
    6.     f.write('%s,1,3 ' % t.encode('utf-8'))  

           运行代码,使用excel打开,截图如下:

           如果我们屏蔽掉其中的一句代码

    1. import codecs  
    2.   
    3. with open('ExcelUtf8.csv', 'w') as f:  
    4.     t = u'中国人'  
    5.     #f.write(codecs.BOM_UTF8)  
    6.     f.write('%s,1,3 ' % t.encode('utf-8'))  

          再次运行代码,使用excel打开,截图如下:

          其中具体的原理,大家可以去百度:BOM了

    That which didn't kill me makes me stronger
  • 相关阅读:
    JAVA内存溢出解析(转)
    检查SQL Server 2005的索引密度和碎片信息(转)
    GWT 学习总结
    支付宝techday分享成长、团队、信任
    一位年轻董事长给年轻人的30条忠告
    Oracle 培训材料
    利用JProfiler对应用服务器内存泄漏问题诊断一例(转)
    oracle 笔记
    JProfiler 使用说明
    最疼你的人是谁
  • 原文地址:https://www.cnblogs.com/kiddy/p/4354061.html
Copyright © 2011-2022 走看看