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 MD5机密算法的使用
    JavaWeb学习总结-12 JSTL标签语言
    HTML5学习总结-09 拖放和手机触屏事件
    HTML5学习总结-08 应用缓存(Application Cache)
    HTML5学习总结-08 WebSocket 服务器推送
    软件架构阅读笔记06
    软件架构阅读笔记05
    软件架构阅读笔记04
    软件架构阅读笔记03
    软件架构阅读笔记02
  • 原文地址:https://www.cnblogs.com/kiddy/p/4354061.html
Copyright © 2011-2022 走看看