• 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
  • 相关阅读:
    ajax
    异步加载js的方法
    node的特点,优缺点及应用场景
    ajax面试题
    jQuery实现手风琴效果
    jQuery简介
    原型
    string 对象属性和方法
    函数声明和函数表达式
    JavaScript 基本语法
  • 原文地址:https://www.cnblogs.com/kiddy/p/4354061.html
Copyright © 2020-2023  润新知