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. with open('ExcelUtf8.csv', 'w') as f:
  3. t = u'中国人'
  4. f.write(codecs.BOM_UTF8)
  5. f.write('%s,1,3\n' % t.encode('utf-8'))

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

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

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

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

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

That which didn't kill me makes me stronger

Python 抓取网页乱码问题 以及EXCEL乱码的更多相关文章

  1. Python 抓取网页并提取信息(程序详解)

    最近因项目需要用到python处理网页,因此学习相关知识.下面程序使用python抓取网页并提取信息,具体内容如下: #---------------------------------------- ...

  2. python抓取网页例子

    python抓取网页例子 最近在学习python,刚刚完成了一个网页抓取的例子,通过python抓取全世界所有的学校以及学院的数据,并存为xml文件.数据源是人人网. 因为刚学习python,写的代码 ...

  3. 01 UIPath抓取网页数据并导出Excel(非Table表单)

    上次转载了一篇<UIPath抓取网页数据并导出Excel>的文章,因为那个导出的是table标签中的数据,所以相对比较简单.现实的网页中,有许多不是通过table标签展示的,那又该如何处理 ...

  4. python 解决抓取网页中的中文显示乱码问题

    关于爬虫乱码有很多各式各样的问题,这里不仅是中文乱码,编码转换.还包括一些如日文.韩文 .俄文.藏文之类的乱码处理,因为解决方式是一致的,故在此统一说明. 网络爬虫出现乱码的原因 源网页编码和爬取下来 ...

  5. Python抓取网页中的图片到本地

    今天在网上找了个从网页中通过图片URL,抓取图片并保存到本地的例子: #!/usr/bin/env python # -*- coding:utf- -*- # Author: xixihuang # ...

  6. python抓取网页引用的模块和类

    在Python3.x中,我们可以使用urlib这个组件抓取网页,urllib是一个URL处理包,这个包中集合了一些处理URL的模块,如下:1.urllib.request模块用来打开和读取URLs:2 ...

  7. python抓取网页中图片并保存到本地

    #-*-coding:utf-8-*- import os import uuid import urllib2 import cookielib '''获取文件后缀名''' def get_file ...

  8. python抓取网页过程

    准备过程 1.抓取网页的过程 准备好http请求(http request)->提交对应的请求->获得返回的响应(http response)->获得网页源码 2.GET还是POST ...

  9. python 抓取网页一部分

    import re import requests from bs4 import BeautifulSoup response = requests.get("https://jecvay ...

随机推荐

  1. phonegap android3.5.1 Crosswalk

    1. your phonegap platform for android update 3.5.1 cordova platform add android@3.5 2. download cros ...

  2. JS常用的设计模式(11)—— 中介者模式

    中介者对象可以让各个对象之间不需要显示的相互引用,从而使其耦合松散,而且可以独立的改变它们之间的交互. 打个比方,军火买卖双方为了安全起见,找了一个信任的中介来进行交易.买家A把钱交给中介B,然后从中 ...

  3. Completely change MACE timestamps?

    Hi, One of my friends Sandy asked me about the possibility of completely change MACE timestamps. As ...

  4. 凡聊过必留下痕迹-破解加密的WeChat数据库

    有个朋友上门寻求协助,带着她朋友的朋友的手机,说是手机硬件有问题,想把手机内的资料都备份出来,尤其是WeChat的聊天内容…我跟她说,那iTool等工具不就可以帮上忙了吗?没想到她早就试过了, 说iT ...

  5. leetcode 8

    string类型转换为int类型,需要考虑不同的转换情况. “   04”  转换结果   4: “   4   43”  转换结果  4: “a@12 ”   转换结果    0: “12a”   ...

  6. 十一、Struts2封装请求参数的方式

    十一.Struts2封装请求参数的方式 方式一.Action 本身作为model对象,通过成员setter封装(一个名字为params的拦截器干的) 注意:表单中的名称要和动作类中的名称一致(这是必须 ...

  7. 替换 PDF 文字

    1.从http://pan.baidu.com/s/1pJlVBqN下载Foxit Phantom.exe: 2.安装这个软件: ① 弹出这个对话框时选择“运行”: ② 授权协议选择“同意”: ③ 选 ...

  8. 软件工程 speedsnail 第二次冲刺8

    20150525 完成任务:障碍物整体设计,实现一页多次布局: 遇到问题: 问题1 与现有资源冲突 解决1 未解决 明日任务: 蜗牛碰到线后速度方向的调整:(做优化)

  9. silverlight 获取路径 config

    1.获取web.config配置内容: web.config default.aspx protected string InitParams { get; set; } InitParams = s ...

  10. Hadoop在win7下部署的问题

    问题: 为了测试方便所以在win7下部署了伪分布式hadoop运行环境,但是部署结束后在命令行运行hadoop命令创建一个用户文件目录时出现了一下情况: 系统找不到指定的批标签- make_comma ...